Bài tập lớn : Cho dãy số sau:6 9 13 16 21 25 hãy viết ra 9 giá trị tiếp theo.
Hướng dẫn: Đây là dãy số được tạo bởi tổng của số nguyên tố và số không nguyên tố, ta viết số nguyên tố trên 1 hàng, số không nguyên tố trên 1 hàng khác và công lại sẽ ra kết quả này
Để giải quyết bài này ta cần 2 mảng bằng nhau 15, sau đó điền giá trị vào các mảng tương ứng
Program tim_so;
Uses crt;
Const n=15; (* Khi muon tang do rong mang chi can sua lai n*)
Type mang=array[1..n] of longint;
Var A,B:mang;
i,j,k,so:longint;
Begin
clrscr;
A[1]:=2;
so:=3;(* Bat dau xu ly tu so 2 cho toi khi day 2 mang *)
i:=2;(* Chi so cua mang A*)
k:=1;(* Chi so cua mang B *)
Repeat
(* Xac dinh so co phai la so nt ko neu la nt gan vao mang A nguoc lai gan vao B*)
j:=2;
(* Khi mà phép dư <>0 và chưa chia tới căn bậc 2 của số thì chia cho số kế tiếp*)
While (so mod j <> 0)and(j<=sqrt(so)) do j:=j+1; IF j>Sqrt(so) then
Begin
A[i]:=so; (* neu la SNT thi gan vao va tang chi so len 1 *)
i:=i+1;
End
ELSE
if k<=n then (* Kiem tra xem mang B da day chua*) Begin B[k]:=so; (* Ko phai s.n.to thi gan vao mang b va tang chi so mang b len 1*) k:=k+1; End; (* ket thuc viet kiem tra va gan so *) so:=so+1;(* Kiem tra so tiep theo *) Until i>n; (* Thoát khi mang A đã điền đầy*)
Writeln('Mang ',n,' phan tu la cac so nguyen to');
For i:=1 to n do write(A[i]:5);
Writeln;
Writeln('Mang ',n,' phan tu la cac so khong phai so nguyen to');
For i:=1 to n do write(B[i]:5);
Readln;
Writeln('Day so can tim gom cac gia tri mang A[i] + B[i]');
For i:=1 to n do write(A[i]+B[i]:5);
Readln
End.

