Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program KOLO0; {Dana jest duża tablica typu tab=array[1..n] of integer. Proszę napisać funkcję, która
- zwraca informację, czy w tablicy zachodzi następujący warunek: „wszystkie elementy, których
- indeks jest elementem ciągu Fibonacciego są liczbami złożonymi, a wśród pozostałych
- przynajmniej jedna jest liczbą pierwszą”.}
- const
- n=100;
- type
- tablica = array [1..n] of integer;
- tab = array [1..n] of boolean;
- var
- i,s :integer;
- t :tablica;
- f :tab;
- procedure fib(var t:tab);
- var
- i,a,b :integer;
- begin
- for i:= 2 to s do
- f[i]:= false;
- t[1]:=true;
- a:=1;
- b:=1;
- while b<s do
- begin
- b:=b+a;
- a:=b-a;
- t[b]:=true;
- end
- end;
- function zlozona(a: integer) :boolean;
- var
- i :integer;
- begin
- zlozona:= false;
- i:=2;
- repeat
- if (a mod i)=0 then
- zlozona:= true
- else
- i:= i + 1;
- until (a=i) or (zlozona);
- end;
- function sprawdz(t:tablica) :boolean;
- var
- war1,war2 :boolean;
- begin
- sprawdz:= false;
- war1:= false;
- war2:= false;
- for i:=1 to s do
- if not f[i] then
- if war2 then
- begin
- if not (zlozona(t[i])) then
- war2:= true;
- end
- else
- if zlozona(t[i]) then
- war1:=true;
- if war1 and war2 then
- sprawdz:= true;
- end;
- procedure wprowadz(var t:tablica);
- begin
- write('Podaj ilosc elementow tablicy: ');
- readln(s);
- for i:=1 to s do
- begin
- write('Podaj ',i,' element tablicy: ');
- readln(t[i]);
- end;
- write('Tablica: ');
- for i:=1 to s do
- write(t[i],' ');
- writeln;
- end;
- begin
- wprowadz(t);
- fib(f);
- if sprawdz(t) then
- writeln('TAK')
- else
- writeln('NIE');
- readln;
- end.
Add Comment
Please, Sign In to add comment