// с циклом while var s,i:integer; begin i:=100; while i<=999 do begin if i mod 77 = 0 then s:=s+i; i:=i+1; end; writeln('Сумма трехзначных кратных 77: ',s); end.
Program n1; function isprost(x: integer): boolean; var i: integer; begin if x<2 then isprost:=false else begin isprost:=true; for i := 2 to round(sqrt(x)) do if x mod i = 0 then isprost:=false; end; end; var a,b,i,sum: integer; p: real; begin writeln('введите границы отрезка [a;b] (предполагается, что числа натуральные)'); write('a='); readln(a); write('b='); readln(b); p:=1; sum:=0; if(a<=0) or (b<=0) then write('ошибка, числа не натуральные') else begin writeln('простые числа на отрезке [',a,';',b,']'); for i:=a to b do if isprost(i) then begin p:=p*i; sum:=sum+i; write(i,' '); end; writeln; writeln('их сумма: ',sum); writeln('их произведение: ',p); end; end.
//c циклом for
var s,i:integer;
begin
for i:=100 to 999 do
if i mod 77 = 0 then s:=s+i;
writeln('Сумма трехзначных кратных 77: ',s);
end.
Тестовое решение:
Сумма трехзначных кратных 77: 5929
// с циклом while
var s,i:integer;
begin
i:=100;
while i<=999 do begin
if i mod 77 = 0 then s:=s+i;
i:=i+1;
end;
writeln('Сумма трехзначных кратных 77: ',s);
end.
function isprost(x: integer): boolean;
var i: integer;
begin
if x<2 then isprost:=false else
begin
isprost:=true;
for i := 2 to round(sqrt(x)) do if x mod i = 0 then isprost:=false;
end;
end;
var a,b,i,sum: integer;
p: real;
begin
writeln('введите границы отрезка [a;b] (предполагается, что числа натуральные)');
write('a=');
readln(a);
write('b=');
readln(b);
p:=1;
sum:=0;
if(a<=0) or (b<=0) then write('ошибка, числа не натуральные')
else begin
writeln('простые числа на отрезке [',a,';',b,']');
for i:=a to b do if isprost(i) then
begin
p:=p*i;
sum:=sum+i;
write(i,' ');
end;
writeln;
writeln('их сумма: ',sum);
writeln('их произведение: ',p);
end;
end.