Найдите выведите на экран все трехзначные числа,кратные 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.

Макс228336 Макс228336    1   21.05.2019 13:00    1

Ответы
gawrilinamaria gawrilinamaria  15.06.2020 21:20

Ваш алгорим не оптимален, совершенно незачем делать "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.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика