思路:
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以内,还可以。
经过上机调试,测试通过,源代码见附件。
希望对你有帮助。
那孪生素数应该怎么求呢?
追答所谓孪生素数,就是连续的两个奇数都是素数(比如5和7,或11和13,特别的,因为2是唯一的偶素数,因此2和3也是一对孪生素数)。
求孪生素数,是在主程序段内,如果你已看过代码了,会发现这么一段:
if prime(i) and prime(i+2)理解了吗?
为了防止LZ没装pascal编译器,这里再放一个可执行文件,点开后会有结果,1000以内的孪生素数。(先下载)
用Pascal语言求出1——1000以内的孪生素数!!!
1)输出(2,3)2)从3~999的所有奇数循环;3)如果这个数是素数,则判断这个数+2是不是素数,如果是,则输出(这个数,这个数+2)。程序LZ可以自己试试看。这个定义的函数prime的思路是:1.要判断一个数 n 是否是素数,可以从2~trunc(sqrt(n))循环,再看循环变量是否能整除 n ,如果都不能...
100以内的8对孪生质数是多少?(写下数)Pascal语言
function f(n:integer):boolean;var x,y:integer;begin f:=false;for x:=1 to n div 2 do if n mod x=0 then exit;f:=true;end;begin for i:=2 to 100 do if f(i)and f(i+2) then writeln(i,' ',i+2);end.答案:3 5 5 7 11 13 17 19 29 31 41 43 59 61 71 ...
孪生漂亮数代码及其结果
11309769,11309768 以下是使用 Pascal 语言实现的孪生漂亮数寻找算法。pascal node = record z, n: longint; end; var i, r, j: longint; b: array[0..1000, 0..1] of longint; procedure find(ans: longint); var i, p: longint; a: array[1..100] of node; begin fillchar(a...
输出100以内15对孪生素数。(孪生素数是指两个相差为2的素数,例如:3和5...
100以内只有8个,应该是200以内。
求两题Free Pascal程序,急需!!
第一题:var i:integer;function ok(a:integer):boolean;var i:integer;begin for i:=2 to trunc(sqrt(a)) do if a mod i=0 then exit(false);exit(true);end;begin for i:=3 to 89 do if ok(i) and ok(i+2) then writeln(i,' ',i+2);end.第二题:procedure ok(a,b...
pascal孪生素数 哪里有错??
求2到n中相差m的孪生素数,自己改一下吧 var n,m,i,j,ans,k:longint;a:array[1..100000] of longint;t:boolean;begin readln(n,m);for i:=2 to n do begin t:=true;for j:=2 to trunc(sqrt(i)) do if i mod j=0 then t:=false;if t then begin inc(k); a[k]:=i...