?>
PASCAL Напишите программу, которая вводит натуральные числа а и b и выводит на экран все натуральные числа на отрезке [ a , b ] , делящиеся на каждую из своих цифр. Входные данные Входная строка содержит два натуральных числа – значения a и b , разделённых пробелами. Гарантируется, что a ≤ b . Выходные данные Программа должна вывести в одну строчку все натуральные числа на отрезке [ a , b ] , делящиеся на каждую из своих цифр. Числа разделяются пробелами. Пример: Ввод Ожидаемый 1. 10 20 2. 1939 3838 Ожидается: 1. 11 12 15 2. 1944 1962 2112 2122 2124 2128 2136 2144 2166 2184 2196 2212 2222 2224 2226 2232 2244 2248 2262 2288 2316 2322 2328 2364 2412 2424 2436 2444 2448 2488 2616 2622 2664 2688 2744 2772 2824 2832 2848 2888 2916 3111 3126 3132 3135 3144 3162 3168 3171 3195 3216 3222 3264 3276 3288 3312 3315 3324 3333 3336 3339 3366 3384 3393 3432 3444 3492 3555 3612 3624 3636 3648 3666 3717 3816 Не копируйте другой ответ с этого же сайта, он не верный
Ответы
1)
var
a: 100..999;
a1, a2, a3: 0..9; //а1 - сотни, а2 - десятки, а3 - единицы
begin
writeln('введите натуральное трехзначное число');
readln(a);
a1: = a div 100;
a2: = (a mod 100) div 10;
a3: = a mod 10;
writeln('полученное число: ', a1, a3, a2);
end.
2)
var
a: 100..999;
a1, a2, a3: 0..9;
begin
writeln('введите натуральное трехзначное число');
readln(a);
a1: = a div 100;
a2: = (a mod 100) div 10;
a3: = a mod 10;
writeln('полученное число: ', a2, a1, a3);
end.
3)
var
a: 100..999;
a1, a2, a3: 0..9;
begin
writeln('введите натуральное трехзначное число');
readln(a);
a1: = a div 100;
a2: = (a mod 100) div 10;
a3: = a mod 10;
writeln('полученное число: ', a3, a1, a2, a3);
end.
4)
var
a: 1000..9999;
a1, a2, a3, a4: 0..9;
begin
writeln('введите натуральное четырехзначное число');
readln(a);
a1: = a div 1000; //тысячи
a2: = (a mod 1000) div 100; //сотни
a3: = (a mod 100) div 10; //десятки
a4: = a mod 10; //единицы
writeln('полученное число: ', a4, a3, a2, a1);
end.
все остальное делается наподобие этого: просто в writeln меняешь местами цифры и все.