#2785: 請高手進來幫忙


thomasxp (飛翔)

學校 : 國立彰化高級中學
編號 : 5604
來源 : [140.116.103.161]
最後登入時間 :
2011-08-29 14:54:34
a007. 判斷質數 | From: [140.116.103.5] | 發表日期 : 2009-11-19 20:49

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
  int a,b,d;
  d=0;
    while(cin>>a)
  {
    b=(int)sqrt(a);
    for(int c=2;c<=b;c++)
      {
                if(a%c==0)
                d=d+1;
                else
                d=d;
       }
        if(d==0)
        cout<<"質數"<<endl;
        else
        cout<<"非質數"<<endl;    
    }      
  system("pause");
}
為何有的明明是質數,它輸出的結果卻是非質數 EX:11

請高手幫幫忙,想好久還是想不出來= =

 
#2788: Re:請高手進來幫忙


example (學姊)

學校 : 臺北市立麗山高級中學
編號 : 6634
來源 : [60.250.138.144]
最後登入時間 :
2022-08-09 17:07:42
a007. 判斷質數 | From: [118.166.118.126] | 發表日期 : 2009-11-19 21:44

#include
#include
using namespace std;
int main()
{
  int a,b,d;
  d=0;
    while(cin>>a)
  {
    b=(int)sqrt(a);
    for(int c=2;c<=b;c++)
      {
                if(a%c==0)
                d=d+1;
                else
                d=d;
       }
        if(d==0)
        cout<<"質數"<
        else
        cout<<"非質數"<
    }      
  system("pause");
}
為何有的明明是質數,它輸出的結果卻是非質數 EX:11

請高手幫幫忙,想好久還是想不出來= =

 要判斷新的數的時候你的 d 要記得歸 0

 還有 else d = d; 是可以省略的

 不寫對 d 並沒有影響

 
#2792: Re:請高手進來幫忙


thomasxp (飛翔)

學校 : 國立彰化高級中學
編號 : 5604
來源 : [140.116.103.161]
最後登入時間 :
2011-08-29 14:54:34
a007. 判斷質數 | From: [140.116.103.5] | 發表日期 : 2009-11-20 08:23

#include
#include
using namespace std;
int main()
{
  int a,b,d;
  d=0;
    while(cin>>a)
  {
    b=(int)sqrt(a);
    for(int c=2;c<=b;c++)
      {
                if(a%c==0)
                d=d+1;
                else
                d=d;
       }
        if(d==0)
        cout<<"質數"<
        else
        cout<<"非質數"<
    }      
  system("pause");
}
為何有的明明是質數,它輸出的結果卻是非質數 EX:11

請高手幫幫忙,想好久還是想不出來= =

 要判斷新的數的時候你的 d 要記得歸 0

 還有 else d = d; 是可以省略的

 不寫對 d 並沒有影響

謝謝你的幫助,已經解決了^ ^
 
ZeroJudge Forum