Определить все простые двузначные числа. Есть предположение, что решается именно так, помогите пожалуйста составить блок-схему.
Program example14;
Var i:
integer; function prost(i: integer): boolean;
var j:integer;
begin prost := true; i:=abs(i); for j := 2 to (i div 2) do if (i mod j = 0) then prost := false; end;
begin for i := 10 to 99 do if prost(i) = true then write(i:5);
readln(i);
end.
Copyright © 2024 SCHOLAR.TIPS - All rights reserved.
Answers & Comments
Verified answer
var prost: array [1..100] of integer;
i, max, n, j: integer;
is_prost:bool;
Begin
max := 99;
prost[1] := 2;
n := 1;
for i := 2 to max do begin
is_prost := true;
for j := 1 to n do begin
is_prost := is_prost and not (i mod prost[j] = 0);
end;
if is_prost then begin
n := n + 1;
prost[n] := i;
end;
end;
for i := 1 to n do
if prost[i] > 9 then write(prost[i], ' ');
End.
const
n = 99;
var
P:array[2..n] of boolean;
i, pr:integer;
flag:boolean;
begin
for i := 2 to n do
P[i] := true;
pr := 2;
flag := true;
while flag do
begin
i := 2 * pr;
while i <= n do
begin
P[i] := false;
i := i + pr;
end;
flag := false;
for i := pr + 1 to n do
if P[i] then
begin
pr := i;
flag := true;
break;
end;
end;
for i := 10 to n do
if P[i] then
write(i, ' ');
readln;
end.
Моя быстрее работает :Р