program z1; var a,m,n: integer; beginwriteln ('введите трехзначное число '); readln(a); writeln ('введите число m '); readln(m); if (a mod m)=0 then writeln ('числа кратные m',a) else writeln('не кратны'); if ((a mod 10)=3) div 10)mod 10)=3)or((a div 10)=3) then n: =n+1; writeln('количество чисел содержащих число 3',n); end.
praskovya17
10.05.2023
Нас учили такие решать с конца. смотри у тебя дано число 38 (его можно разделить на 2 или вычесть 3). поскольку оно делиться на 2 нацело используем деление. получаем 19 (на 2 не делиться следовательно вычитаем 3)=16 и т. и у тебя скорее всего опечатка, потому что как ни крут и за 5 шагов не выполнить. скорее всего нужно из числа 2 в 38. ну или решение должно занять 6 шагов, что вряд ли 1 команда 38/2=19 2 команда 19-3=16 1 команда 16/2=8 1 команда 8/2=4 1 команда 4/2=2 1 команда 2/2=1 т.к начинали с конца считать полученный набор команд записывается с конца : 111121
program z1; var a,m,n: integer; beginwriteln ('введите трехзначное число '); readln(a); writeln ('введите число m '); readln(m); if (a mod m)=0 then writeln ('числа кратные m',a) else writeln('не кратны'); if ((a mod 10)=3) div 10)mod 10)=3)or((a div 10)=3) then n: =n+1; writeln('количество чисел содержащих число 3',n); end.