Найдите выведите на экран все трехзначные числа,кратные 20,сумма цифр которых равны сумме цифр частного от деления их на 20 Может так uses crt;var b,c,d,t,i,s,k:integer; o:real;begin s:=0; for k:=100 to 1000000000 do begin ...
Найдите выведите на экран все трехзначные числа,кратные 20,сумма цифр которых равны сумме цифр частного от деления их на 20 Может так uses crt;
var b,c,d,t,i,s,k:integer; o:real;
begin
s:=0;
for k:=100 to 1000000000 do
begin
b:=k mod 10;
c:=k div 100;
d:=(k mod 100)div 10;
t:=d+b+c;
o:=(b div 20)+(c div 20)+(d div 20);
if ((k mod 20)=0) and (t=o) then s:=s+1;
end;
writeln('s=',s);
end.
Ответ(ы) на вопрос:
Ваш алгорим не оптимален, совершенно незачем делать "for k:=100 to 1000000000 do", т.к. по условию необходимо проверить лишь трехзначные числа. uses crt;
var a,b,k:integer;
begin
for k:=100 to 999 do
if k mod 20 =0
then begin
a:= k div 20;
b:= k div 10;
if ((a mod 10) + (a div 10)) = ((k mod 10) + (b mod 10) + (a div 10)) then writeln(k);
end;
end.
Не нашли ответ?
Похожие вопросы