判斷質數程式

Home Home
引用 | 編輯 Chiunyao
2005-03-13 17:28
樓主
推文 x0
這是一個判斷是否為質數的程式..什麼是質數應該不用再說了拉...

如果是質數的話會顯示" prime number" 反之顯示 "nonprime number"
使用原理:牛頓因式檢驗法
(設P屬於N,P>1, 若P沒有<=根號P的正質因數 則P ..

訪客只能看到部份內容,免費 加入會員



獻花 x0
引用 | 編輯 panasonic732
2005-03-13 22:20
1樓
  
複製程式
for(int i=2;i<=sqrt(x);i++)
   {
     if(x%i==0)
     return 0;
   }
   return 1;

我怎麼都沒想到這一段的寫法
好精簡 >"<

獻花 x0
引用 | 編輯 codeboy
2005-03-14 11:11
2樓
  
下面是引用panasonic732於2005-03-13 22:20發表的 :
我怎麼都沒想到這一段的寫法
好精簡 >"<
.......

這就是戶相關摩的好處...別人想的有可能是你沒想到的...
最佳解法
表情

獻花 x0
引用 | 編輯 panasonic732
2005-03-14 11:17
3樓
  
下面是引用codeboy於2005-03-14 11:11發表的 :


這就是戶相關摩的好處...別人想的有可能是你沒想到的...
最佳解法
表情


^^"
不過這個就是增設範例區的真諦...


獻花 x0
引用 | 編輯 Chiunyao
2005-03-14 21:11
4樓
  
sorry各位......我發現我的程式多加了幾行其實是沒用的....剛才都訂正回來囉...

真是抱歉阿...

哈哈謝謝兩位大大支持我啦

獻花 x0
引用 | 編輯 t0306894
2005-03-14 23:32
5樓
  
寫程式的人除了要有相當強的邏輯之外,還有一個重要課題需要學習,就是學習看別人的程式,思考它人的寫法和自己的有什麼不同,因為這也會增強自已程式的功力。

獻花 x0
引用 | 編輯 tgbsa
2005-04-16 00:08
6樓
  
//判定輸入是否為質數
#include<iostream.h>
#include<stdlib.h>
#include<math.h>

int isprime(int x);
void main(void)
{
int x,s;
cout<<"enter a number (2-32767):";
cin>>x;
  if (x == 1) //1不是質數喔,所以要加這!!
    cout<<"nonprime number"<<endl;
  else if(isprime(x)==0)  
  cout<<"nonprime number"<<endl;
  else
  cout<<"prime number"<<endl;
system("PAUSE");
}
int isprime(int x)
{
  for(int i=2;i<=sqrt(x);i++)
  {
  if(x%i==0)
  return 0;
  }
  return 1;
}

獻花 x0
引用 | 編輯 kem
2005-05-17 19:12
7樓
  
這應該要加在函數裡面吧

int isprime(int x)
{
    for(int i=2;i<=sqrt(x);i++)
    {
          if(x%i==0 || x==1)
          return 0;
    }
    return 1;
}

獻花 x0
引用 | 編輯 tankegg
2006-02-18 12:21
8樓
  
真的是蠻簡短的…
這是我看過最短的…
上課的課本還比較長…
謝謝大大的程式…學起來了…

獻花 x0
引用 | 編輯 jerry520
2012-04-23 20:31
9樓
  
777777777777777777777777777777777777777777777777733333333333333333311

是不是質數?

如果不是, 下一個質數應該是多少?

這裡有解答...

http://ho520.myweb.hinet.net/

獻花 x0