日期:2014-05-18  浏览次数:20791 次

判断是否为素数的程序应该循环多少次?
public bool primenumber(int t)
  {
  int k = t;
  bool flag = true;
  for (int i = 2; i < k; i++)
  {
  if ((k % i) == 0)
  {
  flag = false;
  break;
  }
  }
  return flag;
  }
此for语句循环了k-2次,考虑效率问题,不用循环这么多,但是又不知道具体应该把i的范围限制到多少,请指教。

------解决方案--------------------
只要不能被2,3整除的都是质数,我认为.
------解决方案--------------------
to 一楼
那35算素数么?
  
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
------解决方案--------------------
to 一楼
那35算素数么?
  
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
------解决方案--------------------
35算素数不?
  
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
------解决方案--------------------
靠,那么迟钝,发了三遍
  
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
------解决方案--------------------
呵呵,显然不是撒,不然那么多数学家研究那么多年干什么
------解决方案--------------------
只要不能被2,3整除的都是质数,我认为.
========
呵呵 仔细想就不对了 


i<sqrt(t)就可以了
------解决方案--------------------
t的平方根取整+1
------解决方案--------------------
素数好像是只能被1和自己整除的吧!

如:7、11、13、17、23、29、31、33、37、39、41........
------解决方案--------------------
33 = 11 * 2
39 = 13* 3

晕了