全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1669
推到 Plurk!
推到 Facebook!

關於輸出範圍內最大"質數:的問題

缺席
lianngg
一般會員


發表:1
回覆:0
積分:0
註冊:2006-10-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-10-28 16:16:53 IP:218.168.xxx.xxx 未訂閱
數學課,老師叫我們使用電腦程式計算出一個非常非常大的質數,大概幾千位數左右,並用印表機印出。
我上網找找,看到有人PO了一段程式碼如下:
#include
int i,j,n;
void main(void)
{ cout<<"input the final value?"< cin>>n;
cout<<"2"< for(i=3;i<=n;i )
{
for(j=2;j {
if(i%j==0)
break;
else if(j==i-1)
cout< }
}
}
但是他的輸出結果是從2開始到你指定的那個數(如2 3 5 7 11 13 ...........),請問我要怎麼把他改成只輸出小於n的最大那個質數就好了呢?
coldwind1234
一般會員


發表:3
回覆:25
積分:20
註冊:2006-08-01

發送簡訊給我
#2 引用回覆 回覆 發表時間:2006-10-31 23:55:29 IP:220.134.xxx.xxx 未訂閱
加一個找出質數的最大值就行了

===================引 用 文 章===================

數學課,老師叫我們使用電腦程式計算出一個非常非常大的質數,大概幾千位數左右,並用印表機印出。
我上網找找,看到有人PO了一段程式碼如下:
#include
int i,j,n;
void main(void)
{??? cout<<"input the final value?"<??? cin>>n;
??? cout<<"2"<??? for(i=3;i<=n;i )
??? {
???? for(j=2;j???? {
???? if(i%j==0)
???? break;
???? else if(j==i-1)
???? cout<???? }
??? }
}
但是他的輸出結果是從2開始到你指定的那個數(如2 3 5 7 11 13 ...........),請問我要怎麼把他改成只輸出小於n的最大那個質數就好了呢?
GGL
資深會員


發表:104
回覆:600
積分:335
註冊:2006-11-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2006-11-05 09:11:50 IP:61.70.xxx.xxx 訂閱
首先,就算你加入判斷最大位數應該也跑不出來,就你所說的位數是"大概幾千位數左右"
都已經overflow了,對付這種大位數的我只想到透過array的方式來儲存,他沒辦法單由你這種方法求得答案
還有,既然你知道程式碼是輸出範圍內全部的質數,你大可不用每次都輸出,只輸出最後那一個
系統時間:2024-05-10 17:02:14
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!