var
A, B, N, i: integer;
begin
N:= 0; //Обнуляем счетчик
writeln('Введите числа A и B');
readln(A, B); //Вводим А и B
if A < B then {Если А < B, то печатаем числа начиная с B и заканчивая A,
иначе наоборот}
for i:= B downto A do
begin
write(i, ' '); //Печатаем i
inc(N); //Увеличиваем счетчик на 1
end
else
for i:= A downto B do
begin
write(i, ' ');
inc(N);
end;
writeln;
writeln('Количество N этих чисел равно: ', N); //Выводим N
end.
Если все правильно, отметь решение как лучшее)
var
A, B, N, i: integer;
begin
N:= 0; //Обнуляем счетчик
writeln('Введите числа A и B');
readln(A, B); //Вводим А и B
if A < B then {Если А < B, то печатаем числа начиная с B и заканчивая A,
иначе наоборот}
for i:= B downto A do
begin
write(i, ' '); //Печатаем i
inc(N); //Увеличиваем счетчик на 1
end
else
for i:= A downto B do
begin
write(i, ' ');
inc(N);
end;
writeln;
writeln('Количество N этих чисел равно: ', N); //Выводим N
end.
Если все правильно, отметь решение как лучшее)
Итак программа вычисляет количество цифр, совпадающих с остатком от деления последней цифры на 2 без учета первой цифры, если она 1.
N = 1961: будет выведено 1 (первая единица не в счет, кроме неё в числе остается только одна единица)
2. N от 101 до 109 не подойдут: если число четное, не будет учтена последняя цифра, если нечетное – то первая.
N = 110 подходит: будет выведено 1.
3. Ошибки ясны из описания в пункте 1: сравниваются не остаток от деления и d, а цифры и d; если первая цифра 1, она не учитывается.
Исправления:
while N > 1 ... надо поменять на while N > 0 ...
if N mod 10 = d ... надо поменять на if N mod 2 = d ...