Dana jest liczba n>1 i ciąg n liczb całkowitych. Napisz program, który wypisze liczby pierwsze, oraz program, który wypisze liczby doskonałe z tego ciągu. Programy mają być 2, a ten ciąg liczb to 5. Z góry dzięki. Pascal ;d
" Life is not a problem to be solved but a reality to be experienced! "
© Copyright 2013 - 2025 KUDO.TIPS - All rights reserved.
Są 2 programy, nie patyczkowałem się z ilością liczb w ciągu - wola użytkownika.
program LiczbaPierwsza;
uses CRT;
var
n,i,j:integer;
t1: array[0..100] of Integer;
t2: array [0..100] of Integer;
begin
clrscr;
write('Podaj ilosc liczb ');
readln(n);
for i:=1 to n do
begin
writeln('Podaj ',i,' liczbe');
readln(t1[i]);
end;
for j:=1 to n do
begin
i:=2;
while ((t1[j] mod i)<>0) and (i<t1[j]) do i:=i+1;
if i=t1[j] then
t2[j]:=t1[j];
end;
writeln('Liczby pierwsze to ');
for i:=1 to n do
begin
if t2[i]<>0 then
begin
write(t2[i],' ');
end;
end;
readln;
end.
program LiczbaDoskonala;
uses CRT;
var
n,elem,i,suma:integer;
t1: array[0..100] of Integer;
t2: array [0..100] of Integer;
dz: array [0..100,0..100] of Integer;
begin
clrscr;
write('Podaj ilosc liczb ');
readln(n);
for i:=1 to n do
begin
writeln('Podaj ',i,' liczbe');
readln(t1[i]);
end;
for elem:=1 to n+1 do
begin
i:=1;
while i<t1[elem] do
begin
if t1[elem] mod i=0 then
dz[elem,i]:=i;
i:=i+1
end;
end;
writeln('Liczby doskonale to: ');
for elem:=1 to n do
begin
suma:=0;
i:=1;
while i<=t1[elem] do
begin
suma:=suma+dz[elem,i];
i:=i+1;
end;
if t1[elem]=suma then
write(suma,',');
end;
readln;
end.