程序设计思想及范例(4),遍历问题,素数问题

判断一个数m是否为素数的基本思路为,遍历从2开始到m-1的所有数字,检查其中是否有m的因子,如果没有找到因子,就说明此数为素数。因此问题的关键是遍历k=2到m-1的所有数字,判断其是否为m的因子,方法是检测m%k的结果是否为0。
例10-5 孪生素数是指两个相差为2的素数,例如:3和5,5和7,11和13 等。编程实现输出15对孪生素数。
问题的关键依次判断每个数字是否为素数。判断素数的过程则通过函数int isprime(int n)来实现,如果当前输入数据a为素数,则函数返回1;否则,函数返回0。
程序代码如下:
#include "stdio.h"
#include "math.h"
int isprime(int n)
{
int nRet=1;
int i;
if(n<2)
nRet=0;
for(i=2;i<=n-1;i++)
if(n%i==0)
{
nRet=0;
break;
}
return nRet;
}

main( )
{ int k=2 ,nCount=0;
do
{ if (isprime(k)&&isprime(k+2))
{ nCount+=1 ;
printf (“%d,%d”,k,k+2);
}
k=k+1 ;
} while (n<15);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值