当前位置: 代码迷 >> C语言 >> 素数的疑问!!!!!!!!!!!!!!!!!!!!!!!!!
  详细解决方案

素数的疑问!!!!!!!!!!!!!!!!!!!!!!!!!

热度:232   发布时间:2008-04-04 23:58:34.0
素数的疑问!!!!!!!!!!!!!!!!!!!!!!!!!
int isP(int m)
{
int i;
for(i=2;i<m;i++)
   if(m % i==0)return 0;
return 1;
}

int isprime(int m)
{int i;
for(i=2;i<=m/2;i++)
   if(m%i==0) return 0;
return 1;
}
isP是isprime的缩写,P要大写?
搜索更多相关的解决方案: 素数  疑问  

----------------解决方案--------------------------------------------------------
函数名字是你自己起的,你高兴大写就大写,高兴小写就小写

不过,我建议你不要随便缩写,这个函数名字叫isPrime是比较好的
----------------解决方案--------------------------------------------------------
个人比较喜欢这样写IsPrime
----------------解决方案--------------------------------------------------------
萝卜青菜,各有所爱。
----------------解决方案--------------------------------------------------------
还有更好的方法就是除以2到根号n,这样当n较大时效率较高
需要加头文件#include <math.h>
int IsPrime(int m)
{
    int i;
    for(i=2;i<=(int)sqrt(m);i++)
       if(m%i==0) return 0;
    return 1;
}
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]tusing[/un] 在 2008-4-5 15:34 的发言:[/bo]

还有更好的方法就是除以2到根号n,这样当n较大时效率较高
需要加头文件#include
int IsPrime(int m)
{
    int i;
    for(i=2;i

你这样每判断一次就做一次开方,也就是N次浮点乘除法
----------------解决方案--------------------------------------------------------
isPrime();   // 比较好看
IsPrime();

这个要看你自己的命名风格。
----------------解决方案--------------------------------------------------------
按照我公司的编程规范是isPrime()这种
其实具体写什么样是没有固定格式的,要根据场合
----------------解决方案--------------------------------------------------------
  相关解决方案