Предмет: Информатика,
автор: Serafim1706
Введите с клавиатуры два целых нечетных числа (первое больше второго). Выведите на экран последовательность нечетных чисел, расположенных между этими числами (паскаль)
Ответы
Автор ответа:
0
var a,b:integer;
begin
write('Введите нечетные a,b (a>b) ');
readln(a,b);
a:=a-2;
repeat
if a mod 2 <> 0 then writeln(a);
a:=a-2;
until a = b;
end.
Тест №1
Введите нечетные a,b (a>b) -89 -99
-91
-93
-95
-97
Тест №2
Введите нечетные a,b (a>b) 99 89
97
95
93
91
begin
write('Введите нечетные a,b (a>b) ');
readln(a,b);
a:=a-2;
repeat
if a mod 2 <> 0 then writeln(a);
a:=a-2;
until a = b;
end.
Тест №1
Введите нечетные a,b (a>b) -89 -99
-91
-93
-95
-97
Тест №2
Введите нечетные a,b (a>b) 99 89
97
95
93
91
Автор ответа:
0
спасибо уже разобрался, но можно попроще program dfdfv; var a,b,i: integer; begin writeln('введите с клавиатуры два целых нечетных числа (первое больше второго)'); readln (a,b); for i:=a to b do if i mod 2=1 then writeln (i,' '); end.
Автор ответа:
0
Только не for i:=a то b а наверное for i:=a downto b, и в вашем решении учитываются числа a и b, а надо найти числа между ними по условию задачи. Значит a и b не включаются в ответ
Автор ответа:
0
точно, спасибо :)
Автор ответа:
0
Не за что. И еще одно, счетчик в цикле for изменяется только на 1 , а в цикле while или repeat мы можем изменять приращение значения переменной цикла. Получается, что при использовании например цикла repeat количество итераций для этой задачи будет в 2 раза меньше чем при использовании цикла for. Это не так важно для этой задачи, но при олимпиадном программировании надо учитывать и это.
Похожие вопросы
Предмет: Математика,
автор: didihrg
Предмет: Математика,
автор: belikovakarolina818
Предмет: Математика,
автор: kmantrovs37
Предмет: Математика,
автор: mileka00
Предмет: Математика,
автор: гульлар