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
Не копируйте другой ответ с этого же сайта, он не верный
Программа:
Pascal:
1.
const N = 10;
var
pol, otr, nul, i: integer;
arr: array[1..N] of integer;
begin
randomize;
for i := 1 to N do begin
arr[i] := random(-10, 10);
if arr[i] > 0 then inc(pol);
if arr[i] = 0 then inc(nul);
if arr[i] < 0 then inc(otr);
end;
writeln('Массив: ',arr);
writeln('Положительных чисел: ', pol);
writeln('Нулей: ', nul);
writeln('Отрицательных чисел: ', otr);
end.
2.
const N = 10;
var
t: boolean;
pol, otr, nul, i: integer;
arr: array[1..N] of integer;
begin
randomize;
for i := 1 to N do begin
arr[i] := random(-10, 10);
if arr[i] > 0 then inc(pol);
if arr[i] = 0 then inc(nul);
if arr[i] < 0 then begin
t := True;
inc(otr);
end;
end;
writeln('Массив: ',arr);
writeln('Положительных чисел: ', pol);
writeln('Нулей: ', nul);
writeln('Отрицательных чисел: ', otr);
writeln(t);
end.
Отлажено с PascalABC.Net
Program Answer;//Создаем программу
//Создаем необходимые переменные
var Massive : array[0..4] of integer;//Массив сгенерированных чисел
var PositiveCnt, NegativeCnt, NeutralCnt :
integer;//Количество чисел относящиеся к определенной группе
var t : boolean;//Определяет есть ли в массиве отрицательное четное число
begin//Начинаем цепочку действий программы
Massive[0] := Random(-10, 10);//Генерируем случайное число от -10 до 10
Massive[1] := Random(-10, 10);//Генерируем случайное число от -10 до 10
Massive[2] := Random(-10, 10);//Генерируем случайное число от -10 до 10
Massive[3] := Random(-10, 10);//Генерируем случайное число от -10 до 10
Massive[4] := Random(-10, 10);//Генерируем случайное число от -10 до 10
//Выводим полученные значения
writeln('Список значений: ');
writeln(Massive[0].ToString());
writeln(Massive[1].ToString());
writeln(Massive[2].ToString());
writeln(Massive[3].ToString());
writeln(Massive[4].ToString());
//Вычисляем количество положительных значений
if (Massive[0] > 0) then PositiveCnt := PositiveCnt + 1;
if (Massive[1] > 0) then PositiveCnt := PositiveCnt + 1;
if (Massive[2] > 0) then PositiveCnt := PositiveCnt + 1;
if (Massive[3] > 0) then PositiveCnt := PositiveCnt + 1;
if (Massive[4] > 0) then PositiveCnt := PositiveCnt + 1;
//Вычисляем количество отрицательных значений
if (Massive[0] < 0) then NegativeCnt := NegativeCnt + 1;
if (Massive[1] < 0) then NegativeCnt := NegativeCnt + 1;
if (Massive[2] < 0) then NegativeCnt := NegativeCnt + 1;
if (Massive[3] < 0) then NegativeCnt := NegativeCnt + 1;
if (Massive[4] < 0) then NegativeCnt := NegativeCnt + 1;
//Вычисляем количество нулевых значений
if (Massive[0] = 0) then NeutralCnt := NeutralCnt + 1;
if (Massive[1] = 0) then NeutralCnt := NeutralCnt + 1;
if (Massive[2] = 0) then NeutralCnt := NeutralCnt + 1;
if (Massive[3] = 0) then NeutralCnt := NeutralCnt + 1;
if (Massive[4] = 0) then NeutralCnt := NeutralCnt + 1;
//Выводим количество положительных значений
writeln('Количество положительных значений: ' + PositiveCnt.ToString());
//Выводим количество отрицательных значений
writeln('Количество отрицательных значений: ' + NegativeCnt.ToString());
//Выводим количество нулевых значений
writeln('Количество нулевых значений: ' + NeutralCnt.ToString());
//Определяем есть ли в массиве четное, отрицательное число
if (Massive[0] < 0) and (Massive[0] mod 2 = 0) then t := true
else if (Massive[1] < 0) and (Massive[1] mod 2 = 0) then t := true
else if (Massive[2] < 0) and (Massive[2] mod 2 = 0) then t := true
else if (Massive[3] < 0) and (Massive[3] mod 2 = 0) then t := true
else if (Massive[4] < 0) and (Massive[4] mod 2 = 0) then t := true;
writeln('В массиве есть одно четное, отрицательное число? - ' +
t.ToString());
end.//Завершаем цепочку действий программы
Вывод:
Список значений:
-9
9
-7
2
-9
Количество положительных значений: 2
Количество отрицательных значений: 3
Количество нулевых значений: 0
В массиве есть одно четное, отрицательное число? - False
за интересное задание!