这样求素数对吗??
int k=2 ;
while (k<=m&&(m%k))
k++ ;
if (m==k)
return 1 ;
else
return 0 ;
问题点数:20、回复次数:3Top
1 楼merlinfang(merlinfang)回复于 2006-07-02 21:52:27 得分 0
这个效率有问题,
素数比较到 根号m就OKTop
2 楼zhaochao8549(我还是菜鸟)回复于 2006-07-02 22:56:51 得分 0
int m;
cin>>m;
double sqrtm=sqrt(m*1.0);
for(int i=2;i<sqrtm;i++)
if(m%i==0)
cout<<m<<"isn't a prime.\n";
return 1;
cout<<m<<"is a prime.\n"
Top
3 楼Kenmark(fenix)回复于 2006-07-03 11:02:38 得分 0
区域内的素数可以用筛法得到
判断一个书是不是素数:
bool is_prime(int s)//输入数据
{
int m = sqrt(s)+1,i;
if (s==2) return true;
for (i=2;i<=m;i++)
if (m%i!=0) return false;
return true;
}Top




