1) Выводит 2 2) var N: longint; digit, maxdigit: integer;
begin readln(N); maxdigit := 10; // нужно присваивать 0 while N > 10 do // нужно написать N > 0 begin digit := N mod 10; if digit > maxdigit then maxdigit := digit; N := N div 10; end; writeln(digit); // нужно вывести maxdigit end.
Верный код
var N: longint; digit, maxdigit: integer;
begin readln(N); maxdigit := 0; while N > 0 do begin digit := N mod 10; if digit > maxdigit then maxdigit := digit; N := N div 10; end; writeln(maxdigit); end.
1) При вводе числа 256 программа выведет 3, т.к. ввели n=256 n>0 ? - да, значит дальше идёт блок из цикла, и будет он повторятся до тех пор пока n будет >0. d:=256 mod 10 d:=6, т.к. mod берёт остаток от деления. n:=256 div 10 n:=25, т.к. div делит нацело и остаток не берёт. sum:=sum+1; sum:=1;
цикл первый раз закончился и опять проверяется условие n>0, если да, то опять запускает цикл. n:=25>0 d:=25 mod 10 d:=5 n:=25 div 10 n:=2 sum:=1+1 sum:=2;
опять закончился цикл и проверяется условие n>0, n:=2>0 d:=2 mod 10; d:=2; n:=2 div 10 n:=0 sum:=2+1; sum:=3;
заканчивается цикл и проверяется условие n>0? n:=0 >0 - нет. цикл заканчивается и выводится значение sum. ответ: 3. 2) 120, 210, 111 и т.д.
2)
var
N: longint;
digit, maxdigit: integer;
begin
readln(N);
maxdigit := 10; // нужно присваивать 0
while N > 10 do // нужно написать N > 0
begin
digit := N mod 10;
if digit > maxdigit then
maxdigit := digit;
N := N div 10;
end;
writeln(digit); // нужно вывести maxdigit
end.
Верный код
var
N: longint;
digit, maxdigit: integer;
begin
readln(N);
maxdigit := 0;
while N > 0 do
begin
digit := N mod 10;
if digit > maxdigit then
maxdigit := digit;
N := N div 10;
end;
writeln(maxdigit);
end.
ввели n=256
n>0 ? - да, значит дальше идёт блок из цикла, и будет он повторятся до тех пор пока n будет >0.
d:=256 mod 10
d:=6, т.к. mod берёт остаток от деления.
n:=256 div 10
n:=25, т.к. div делит нацело и остаток не берёт.
sum:=sum+1;
sum:=1;
цикл первый раз закончился и опять проверяется условие n>0, если да, то опять запускает цикл. n:=25>0
d:=25 mod 10
d:=5
n:=25 div 10
n:=2
sum:=1+1
sum:=2;
опять закончился цикл и проверяется условие n>0, n:=2>0
d:=2 mod 10;
d:=2;
n:=2 div 10
n:=0
sum:=2+1;
sum:=3;
заканчивается цикл и проверяется условие n>0? n:=0 >0 - нет. цикл заканчивается и выводится значение sum.
ответ: 3.
2) 120, 210, 111 и т.д.