найдите все простые числа на отрезке [a,b] их сумму и произведение
(составить программу в pascal)
Ответы
Ответ дал:
0
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.
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.
Ответ дал:
0
спасибо!
Вас заинтересует
1 год назад
1 год назад
2 года назад
8 лет назад
8 лет назад
8 лет назад