6 9 13 16 21 25 hãy viết ra 9 giá trị tiếp theo

0

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.
Share.

About Author

Quen biết khắp thiên hạ Tri kỷ được mấy người ?

Bình Luận

avatar
  Subscribe  
Thông báo