用Pascal语言求出1——1000以内的孪生素数!
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/11 19:16:49
用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以内,还可以.
经过上机调试,测试通过,源代码见附件.
再问: ����������Ӧ����ô���أ�
再答: ��ν���������������������������������5��7����11��13���ر�ģ���Ϊ2��Ψһ��ż�������2��3Ҳ��һ��������������������������������ڣ�������ѿ�������ˣ��ᷢ����ôһ�Σ�if prime(i) and prime(i+2)
then writeln('(',i,',',i+2,')');�������ǵ�ѭ������ i �Ѿ�����Ϊ������if odd(i)������ i �� i+2 ��ͨ�����ж�����prime�ĺ���ͻᶼ����true����˿��Կ϶�i��i+2��һ���������� �������
Ϊ�˷�ֹLZûװpascal�������������ٷ�һ����ִ���ļ����㿪����н��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以内,还可以.
经过上机调试,测试通过,源代码见附件.
再问: ����������Ӧ����ô���أ�
再答: ��ν���������������������������������5��7����11��13���ر�ģ���Ϊ2��Ψһ��ż�������2��3Ҳ��һ��������������������������������ڣ�������ѿ�������ˣ��ᷢ����ôһ�Σ�if prime(i) and prime(i+2)
then writeln('(',i,',',i+2,')');�������ǵ�ѭ������ i �Ѿ�����Ϊ������if odd(i)������ i �� i+2 ��ͨ�����ж�����prime�ĺ���ͻᶼ����true����˿��Կ϶�i��i+2��һ���������� �������
Ϊ�˷�ֹLZûװpascal�������������ٷ�һ����ִ���ļ����㿪����н��1000���ڵ��������������أ�