Trang chủ Tin Học Lớp 11 Pascal: Nhập vào số n: Yêu Cầu: Liệt kê các...

Pascal: Nhập vào số n: Yêu Cầu: Liệt kê các số song tố từ 1 đến n câu hỏi 3258089 - hoctapsgk.com

Câu hỏi :

Pascal: Nhập vào số n: Yêu Cầu: Liệt kê các số song tố từ 1 đến n

Lời giải 1 :

Lần sau bạn nên cung cấp nhiều thông tin hơn về bài để mọi người có thể dễ giải hơn nhé. Theo như mình tìm hiểu, số song tố là số nguyên tố có tổng các chữ số cũng là số nguyên tố. Với cách cơ bản, bạn có thể đếm ước và xét chay từng số từ 1 đến n. Nhưng muốn để có thời gian chạy nhanh nhất thì ta cần sử dụng sàng eratosthenes, còn gọi là sàng nguyên tố để kiểm tra các số nguyên tố. Tư tưởng thuật toán: 
 - Tạo sàng nguyên tố bằng cách khởi tạo 1 mảng boolean với giá trị true. Nhân lên và đánh dấu tất cả các ô bội số của i thành false vì không phải là số nguyên tố. Tăng i đến khi số thứ i là số nguyên tố và lặp lại cho đến khi i>sqrt độ dài mảng. Lúc này ta được 1 mảng mà giá trị ô thứ i = true nếu i là số nguyên tố.
 - Tạo 1 function tính tổng chữ số bằng cách div và mod cho 10 để lấy từng chữ số.
 - Chạy 1 vòng for từ 1 đến n, tính tổng chữ số của i và xét trong mảng nguyên tố vừa tạo xem cả 2 có phải số nguyên tố không, nếu có thì in ra i.
 
Đây là code của mình. (raw: https://pastebin.com/YkUgHp5G)

Chúc bạn học tốt. Chọn đây là câu trả lời hay nhất nếu bạn thấy hợp lí.

image

Thảo luận

Lời giải 2 :

uses crt;
var i,n:longint;

function tong(a:longint):longint;
begin
   tong:=0;
   repeat
      inc(tong,a mod 10);
      a:=a div 10;
   until a=0;
end;

function nt(a:longint):boolean;
var i:longint;
begin
   if a>1 then nt:=true else nt:=false;
   for i:=2 to trunc(sqrt(a)) do 
      if a mod i=0 then nt:=false;
end;

begin
clrscr;
   write('Nhap n: ');readln(n);
   for i:=1 to n do 
      if (nt(i))and(nt(tong(i))) then writeln(i);
readln;
end.

Bạn có biết?

Tin học, tiếng Anh: informatics, tiếng Pháp: informatique, là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng (ảo). Với cách hiểu hiện nay, tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin.

Nguồn : Wikipedia - Bách khoa toàn thư

Tâm sự 11

Lớp 11 - Năm thứ hai ở cấp trung học phổ thông, gần đến năm cuối cấp nên học tập là nhiệm vụ quan trọng nhất. Nghe nhiều đến định hướng sau này rồi học đại học. Ôi nhiều lúc thật là sợ, hoang mang nhưng các em hãy tự tin và tìm dần điều mà mình muốn là trong tương lai nhé!

Nguồn : ADMIN :))

Copyright © 2021 HOCTAP247