Topic: 请教!素数怎么算的?

  Print this page

1.请教!素数怎么算的? Copy to clipboard
Posted by: 半夜睡不着
Posted on: 2005-09-03 19:04

如题~ 素数是不是质数的的一部分?是不是和其它数没约数的数

2.Re:请教!素数怎么算的? [Re: 半夜睡不着] Copy to clipboard
Posted by: why
Posted on: 2005-09-03 21:01

素数即是质数

3.Re:请教!素数怎么算的? [Re: 半夜睡不着] Copy to clipboard
Posted by: GlennLi
Posted on: 2005-09-21 10:24

举个例子:
public class  SuShu
{
  private int num;
  SuShu(int n){
    num=n;
  }
public boolean isSuShu(){
   for(int i=2;i<num;i++){
   if(num%i==0)
     return false;           
     }
     return true;
  }

  public static void main(String[] args)
  {
    for(int i=1;i<=100;i++)
    {
    SuShu su=new SuShu(i);
    if(su.isSuShu())
    System.out.println(i+"是素数");
    else
    System.out.println(i+"不是素数");
    }
  }
}

4.Re:请教!素数怎么算的? [Re: 半夜睡不着] Copy to clipboard
Posted by: andy04911
Posted on: 2005-09-29 13:01

好例子,就是说只有能被1和本身整除的数才是素数

5.Re:请教!素数怎么算的? [Re: 半夜睡不着] Copy to clipboard
Posted by: alin_ass
Posted on: 2005-10-02 09:07

  /**
* @param n
* @return if n is a prime return true, else false
*/
public static boolean isPrime(int n) {
// filte negative, zero, one
if (1 >= n) {
return false;
}
// 2 is a prime, stop filter
if (2 == n) {
return true;
}
// filter evens
if (0 == n % 2) {
return false;
}
// go on filting...
for (int a = 3; a <= Math.sqrt(n); a += 2) {
if (0 == n % a) {
return false;
}
}
// the rest is all prime, stop filting
return true;
}

6.Re:请教!素数怎么算的? [Re: 半夜睡不着] Copy to clipboard
Posted by: yan_1203
Posted on: 2005-10-10 15:13

我觉得求素数时小于NUM的一半就可以了,我记得是这样的.你们认为呢

7.Re:请教!素数怎么算的? [Re: 半夜睡不着] Copy to clipboard
Posted by: wubiliang
Posted on: 2005-10-11 16:54

目前我认为最好的办法是:
public boolean isPrime(int n){
  
  for(int i = 2; i * i <= n; i++){
    
    if(n % i == 0)
    
      return false;
  }
  
  return true;
}

8.Re:请教!素数怎么算的? [Re: 半夜睡不着] Copy to clipboard
Posted by: Jcat
Posted on: 2005-10-25 22:19

其实只用循环到n的平方根取整加1即可(这是算法问题)

9.Re:请教!素数怎么算的? [Re: 半夜睡不着] Copy to clipboard
Posted by: bwpc
Posted on: 2005-10-28 09:36

我试了一下,10exp+9方的数就需要好长时间了, 我算了50多分钟都没算完,后来就放弃了, 呵呵, 期待更优的算法, 合数都可以表示成质数的积, 那么只验证小于其平方根的质数好像就可以了

10.Re:请教!素数怎么算的? [Re: 半夜睡不着] Copy to clipboard
Posted by: 先锋
Posted on: 2005-11-04 10:34

原来质数是这么找的,谢谢啊!

11.Re:请教!素数怎么算的? [Re: 先锋] Copy to clipboard
Posted by: xiaosilent
Posted on: 2005-11-04 11:10

java 开平方用的是什么函数呢?

12.Re:请教!素数怎么算的? [Re: xiaosilent] Copy to clipboard
Posted by: anleey
Posted on: 2005-11-07 13:19

xiaosilent wrote:
java 开平方用的是什么函数呢?


java用sqrt函数。

13.Re:请教!素数怎么算的? [Re: 半夜睡不着] Copy to clipboard
Posted by: lifedo
Posted on: 2005-11-10 11:42

我只能选b了

14.Re:请教!素数怎么算的? [Re: 半夜睡不着] Copy to clipboard
Posted by: lifedo
Posted on: 2005-11-10 11:43

发错地方了!


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923