#5134: 新手一問


leechen1992 (hazyman)

學校 : 高雄實踐大學
編號 : 15758
來源 : [123.193.220.5]
最後登入時間 :
2017-04-09 23:26:50
a007. 判斷質數 | From: [114.47.2.161] | 發表日期 : 2011-05-25 22:01

以下是我的程式碼:

#include<iostream>
#include<math.h>
using namespace std;
int main(){
    int x=0,y;
    while(cin >> x){
    if(x==2||x==3)
    cout << "質數" <<endl;
    y=int(sqrt(x));
    for(int i=2;i<=y;i++)
    if(x%i==0){
    cout << "非質數" <<endl;
    break;}
    else if(i==y)
    cout << "質數" <<endl;
   
}
    return 0;
}

 

我想問的是紅色部分,

為什麼當i=某數根號(sqrt(x))就能判定是質數呢?

不太懂這部分的意思@.o

 
#5135: Re:新手一問


yuchiao0921 (我的字典沒有放棄)

學校 : 道明中學
編號 : 18267
來源 : [124.218.85.67]
最後登入時間 :
2017-12-09 04:26:44
a007. 判斷質數 | From: [114.41.120.171] | 發表日期 : 2011-05-26 06:12

若n 為非質數,存在一個小於等於根號n 的正整數,整除n

 
ZeroJudge Forum