判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数
----------------解决方案--------------------------------------------------------
不错,不错,楼主创造了一个求作业贴的新颖标题,有创新,建议标上原创加精
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
不错,不错,楼主创造了一个求作业贴的新颖标题,有创新,建议标上原创加精
老K这你就不对了,这里初学者很多,让大家讨论讨论未必不是好事
----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<math.h>
void main()
{
int m,i,k;
for(m=100;m<=200;m++)
{
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)
break;
if(i>=k+1)
{
printf("%d ",m);
}
}
printf("\n");
}
----------------解决方案--------------------------------------------------------
判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数
用开方不太好,对于某些数来说,用开方可能算不准,例如121,数学上开方是11,但计算机计算时有可能为10.99999
所以,最好用乘方比较i*i<=n
----------------解决方案--------------------------------------------------------
k=sqrt(m+1);这样就可以了吧.?
----------------解决方案--------------------------------------------------------
开方的效率没有乘方高
----------------解决方案--------------------------------------------------------
赞成,开始不要太难,不然就没兴趣了
[此贴子已经被作者于2007-10-15 16:11:52编辑过]
----------------解决方案--------------------------------------------------------
判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数
这个方法可以在简单点,偶数不会是素数,所以循环的话就是i+2,不用i++
----------------解决方案--------------------------------------------------------