Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3408844
  • 博文数量: 534
  • 博客积分: 11595
  • 博客等级: 上将
  • 技术积分: 5785
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-22 17:00
文章分类

全部博文(534)

文章存档

2015年(4)

2014年(27)

2013年(15)

2012年(38)

2011年(36)

2010年(85)

2009年(63)

2008年(142)

2007年(124)

分类: C/C++

2007-07-10 15:40:17

算法: 让m被2到sqrt(m)除,为真则提前结束,此时i必然小于等于sqrt(m),m这时不是素数;为假则i必然大于等于sqrt(m),m这时是素数。
 
#include
#include
main()
{
 int i,k,m;
 scanf("%d",&m);
 k=sqrt(m);

 for (i=2;i<=k;i++)
  if (m%i==0) break;
 
 if (i>=k+1) printf("%d is a prime number\n",m);
 else printf("%d is not a prime number\n",m);
}
阅读(3000) | 评论(5) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2008-05-16 01:18:32

#include #include void main() { int i,k,m; scanf("%d",&m); k=int(sqrt(m)); for (i=2;i<=k;i++) if (m%i==0) break; if (i>=k+1) printf("%d is a prime number\n",m); else printf("%d is not a prime number\n",m); }

chinaunix网友2008-04-14 15:53:12

运行好像不对,不知道哪里有问题,输入53,57都提示不是素数