要判断素数原理很简单,就是用小于N的数除,如果能整除就不是素数!一般情况下只要穷举到不大于根号N的整数就行!程序如下:
main()
{
int n,t,i;
scanf(%d,&n);
t=(int)sqrt(n);
for(i=2;i<t+1;i++)
{
if(n%i==0)
{
printf("it is not!");
exit();
}
}
printf("Yes,it is!");
}
另外,素数除2外都是奇数,所以.判断可分两部,第一,是否偶数,若是,是否是2,不是则N不是素数.
若是2,是素数.
不是偶数,则判断的循环(i=3,i<t+1;i=i+2),不需要用偶数进行判断了!这样程序的时间复杂度就更小了.
main()
{
int n,t,i;
scanf(%d,&n);
t=(int)sqrt(n);
for(i=2;i<t+1;i++)
{
if(n%i==0)
{
printf("it is not!");
exit();
}
}
printf("Yes,it is!");
}
另外,素数除2外都是奇数,所以.判断可分两部,第一,是否偶数,若是,是否是2,不是则N不是素数.
若是2,是素数.
不是偶数,则判断的循环(i=3,i<t+1;i=i+2),不需要用偶数进行判断了!这样程序的时间复杂度就更小了.
解决方案 »
- 请教个关于变量转换的基础问题
- 对于Unicode一直也搞不明白? 如果我的程序不考虑Unicode兼容问题, 程序运行会出错吗?
- 在vc里面怎样用最简单的图案填充一个多边形
- VC更新SYBASE数据库,出现Unclosed quote before the Licharacter string是什么原因啊?
- 关于自绘按钮的问题 拜托了进来看一下 先谢谢了
- 求:《com技术内幕》的电子版和附书源码?
- 一个对话框程序调用dll中函数的问题!
- 向ASP文件发送HTTP请求,如何验证ASP文件收到的请求是正确的
- socket传数据结构问题
- 如何判断系统是否安装有moderm?
- 菜鸟提问:我想知道,那些部分的编程必须会高等数学,都必须会什么?
- 怎么样给按钮增加工具提示(CToolTipCtrl)?
基本思想是N的根号2以内才可能有被整除的数字。