實驗6 9 素數分解(遞迴實現)

2021-10-16 06:48:37 字數 990 閱讀 7727

設計遞迴函式void void printfactor( int, int );列印出對n進行素數分解的結果。

當執行void printfactor(60,1)時,列印效果為:

60=223*5。

關於素數分解的描述,見講義。

設計程式,已知一段資料範圍[a,b],且a<=b,要求對其中的每乙個數進行素數分解。你也可以設計其它輔助函式,如判斷素數的函式isprime(n)。

輸入與輸出要求: 輸入兩個正整數a、b,代表所分解的區間,滿足1<=a<=b<=100000,且b-a<=100。輸出b-a+1行,即b-a+1個數的分解。

函式原型如下:

void printfactor( int, int );

其中第乙個引數為待分解的整數,第二個引數需自行設計。函式無返回值。

100

105

100=2

*2*5

*5101=

101102=2

*3*17

103=

103104=2

*2*2

*13105=3*

5*7

#include

#include

intisprime

(int n)

;void

printfactor

(int

,int);

intmain()

intisprime

(int n)

if(i>

(int

)sqrt

(n))

return1;

else

return0;

}}void

printfactor

(int n,

int a)if(

isprime

(n)==0)

}}}

6 6 實驗6 9 素數分解 100分

6 6 實驗6 9 素數分解 100分 設計遞迴函式void void printfactor int,int 列印出對n進行素數分解的結果。當執行void printfactor 60,1 時,列印效果為 60 223 5。關於素數分解的描述,見講義。設計程式,已知一段資料範圍 a,b 且a b,...

1215 素數分解

素數分解 time limit 1000ms memory limit 65536k total submit 16 accepted 16 description 在這裡,我們要對乙個正整數進行分解,我們通常說的分解是指求乙個數的質因數,但是,我們發現有些數字可以分解成若干個質數的和,有趣的事,有...

HDU1299 素數分解

include includeusing namespace std bool isprime 100000 int prime 10000 tot 0,temp,n long long ans int main int t scanf d t for int kase 1 kase t kase ...