Решить ! даны два целых числа а и б (а< б) вывести на экран все целые числа расположенные между данными числами ( не включая эти числа , в порядке их убывания, а так же количество этих чисел. (паскаль цикл с предусловием)
program asd; var a,b,k:integer; begin readln (a,b); b:=b-1; while (b>a) do begin write (b,', '); b:=b-1; k:=k+1; end; writeln; writeln (k); readln; end.
1 задание) ответ: 1323141; Двигаемся в обратном порядке 2324142 (идём с конца) ей противоположные 1323141 2 задание) ответ: 2949; мы должны получить 11 и 13 причем минимально . можем только так 9+2 и 9+4 . значит 2949 3 задание) ответ: 3; чтобы добраться до 21 нам нужно выполнить 1 команду 6 раз и 3 раза вторую , нас спрашивают про вторую пишем ответ 3 4 задание) ответ: 1; нам нужно число которое делится на 5 то есть 4 отпадает , и также нам нужно чтобы модуль разности был не более 2 и во втором и в третьем модуль разности больше 2 , остается 1. 5 задание) ответ: 1112221; Я всегда начинаю с обратного 57-56-28-14-7-6-5-4 собираем с конца 1112221
Таких систем исчисления всего две. Основание а = 9 и основание а =367, но в системе с основанием 367 проблематично записывать числа (символов не хватит). Если число 3306(10) в системе исчисления с основанием а заканчивается цифрой 3, то тогда число 3303 делится на основание системы а. Отсюда алгоритм поиска. Находим все делители числа 3303. 3303 = 3*1101 = 3*3*367. Число 367 - простое. Поэтому основаниями системы исчисления могут быть только 3, 9, 367. Основание =3 не подходит, так как по условию число должно заканчиваться на 3 -> основание больше 3. Остаются 9, 367.
program asd;
var a,b,k:integer;
begin
readln (a,b);
b:=b-1;
while (b>a) do begin
write (b,', ');
b:=b-1;
k:=k+1;
end;
writeln;
writeln (k);
readln;
end.