Сначала переменным c и h задаются значения 1 и 3 соответственно.
""" {c=c*3; h=h +c;} """ -- этот фрагмент кода выполняется пока c ≤ 9 (""" while (c<=9) """).
1) При первом выполнении:
2) При втором выполнении:
Так как {c=c*3; h=h +c;} выполняется пока c ≤ 9, а сейчас (после второго выполнения фрагмента) c = 9, то фрагмент кода будет выполнен ещё раз:
3) При третьем выполнении:
В четвёртый раз фрагмент уже не будет выполнен, так как 42 > 9 => c > 9.
ответ: 42.
program m1;
var a,b,c,:integer;
help:string;
begin
b:=0;
for var i:=2848 to 109499 do
str(i,help);
if pos('9',help)<>0 then
c := 0;
a:=i;
while a > 0 do
if a mod 10 > 5 then
c := c + a mod 10;
end;
a := a div 10;
if c mod 3 = 0 then
b:=b+1;
if pos('8',help)=1 then
writeln(i);
writeln(b);
end.
Объяснение:
20865 89997
Сначала переменным c и h задаются значения 1 и 3 соответственно.
""" {c=c*3; h=h +c;} """ -- этот фрагмент кода выполняется пока c ≤ 9 (""" while (c<=9) """).
1) При первом выполнении:
c = c * 3 переменная c примет значение c = 1 * 3 = 3.h = h + c переменная h примет значение h = 3 + 3 = 6.2) При втором выполнении:
c = c * 3 переменная c примет значение c = 3 * 3 = 9.h = h + c переменная h примет значение h = 6 + 9 = 15.Так как {c=c*3; h=h +c;} выполняется пока c ≤ 9, а сейчас (после второго выполнения фрагмента) c = 9, то фрагмент кода будет выполнен ещё раз:
3) При третьем выполнении:
c = c * 3 переменная c примет значение c = 9 * 3 = 27.h = h + c переменная h примет значение h = 15 + 27 = 42.В четвёртый раз фрагмент уже не будет выполнен, так как 42 > 9 => c > 9.
ответ: 42.
program m1;
var a,b,c,:integer;
help:string;
begin
b:=0;
for var i:=2848 to 109499 do
begin
str(i,help);
if pos('9',help)<>0 then
begin
c := 0;
a:=i;
while a > 0 do
begin
if a mod 10 > 5 then
begin
c := c + a mod 10;
end;
a := a div 10;
end;
if c mod 3 = 0 then
begin
b:=b+1;
if pos('8',help)=1 then
begin
writeln(i);
end;
end;
end;
end;
writeln(b);
end.
Объяснение:
20865 89997