用Pascal语言求出1——1000以内的孪生素数!

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/30 05:25:27
用Pascal语言求出1——1000以内的孪生素数!
xTn@~Rj}zZ"6)2!Ci RI(B"RPLwAr:Vvvf⹤Y ;\hS>VR/ w8yO%P.Ƚ6l--F J]~\08F.4|rn`h QB.EEx>)ǯ@p>9bmP7A,X^ދD"@(+F;*}-yXo|k&$)=t/^F. ^\:0.WHe0CꗯqMD;lW645UdHH 0Zbm %Md{qWx}Oc`E\k@JvּDwZ3+=@ÖM$ַ Ѭ$DMIRĘ)LX=5t;J419#-,ɒ#=}&!)jWJ;!'[^t npw {켘]?"LMcI5C4(V?}]{_)cU@̔<0f ?y8Xqb 

用Pascal语言求出1——1000以内的孪生素数!
用Pascal语言求出1——1000以内的孪生素数!

用Pascal语言求出1——1000以内的孪生素数!
思路:
1.定义一个“函数prime”,判断该数是否是素数;
2.主程序:
   1)输出(2,3)
   2)从3~999的所有奇数循环;
   3)如果这个数是素数,则判断这个数+2是不是素数,如果是,则输出(这个数,这个数+2).


程序LZ可以自己试试看.


这个定义的函数prime的思路是:
1.要判断一个数 n 是否是素数,可以从2~trunc(sqrt(n))循环,再看循环变量是否能整除 n ,如果都不能整除,则 n 是素数;
2.
function prime(n:longint):boolean;
var i:longint;
begin
 prime:=true;
 for i:=2 to trunc(sqrt(n)) do 
  if n mod i=0 then 
  begin 
    prime:=false;
    exit;
  end;
end;


这段代码不优化,不过由于是1000以内,还可以.

经过上机调试,测试通过,源代码见附件.