用Pascal语言求出1——1000以内的孪生素数!
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/07/10 11:20:37
用Pascal语言求出1——1000以内的孪生素数!
![用Pascal语言求出1——1000以内的孪生素数!](/uploads/image/z/4426158-30-8.jpg?t=%E7%94%A8Pascal%E8%AF%AD%E8%A8%80%E6%B1%82%E5%87%BA1%E2%80%94%E2%80%941000%E4%BB%A5%E5%86%85%E7%9A%84%E5%AD%AA%E7%94%9F%E7%B4%A0%E6%95%B0%21)
思路:
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���ڵ��������������أ�