挑戰題10 分解質因數

2021-10-05 05:54:55 字數 881 閱讀 7606

10 分解質因數

問題描述 :

求出區間[a,b]中所有整數的質因數分解。

輸入說明 :

輸入兩個整數a,b。

2<=a<=b<=10000

輸出說明 :

每行輸出乙個數的分解,形如k=a1a2a3…(a1<=a2<=a3…,k也是從小到大的)(具體可看範例)

輸入範例 :

3 10

輸出範例 :

3=34=22

5=56=23

7=78=222

9=33

10=25

#include

#include

intprenumber

(int s)

if(i>

sqrt

(s))

return1;

return0;

}int

main()

printf

("%d="

,i);

//輸出格式

int t=i;

while

(t)}

t=t/j;}}

return0;

}

第二種**:稍微優化了點

解決方案:

1.每乙個大於2的非素數都可以表示成素數乘積的形式,

2.通過遍歷,進行取模(看是否為0),是的話,就輸出,不是的話。接著遍歷

3.若他本身是素數,那更容易輸出了

#include

intmain()

temp=temp/j;

j=2;

}else j++;}

}return0;

}

014 分解質因數

題目 將乙個正整數分解質因數。例如 輸入90,列印出90 2 3 3 5。程式分析 對n進行分解質因數,應先找到乙個最小的質數k,然後按下述步驟完成 1 如果這個質數恰等於n,則說明分解質因數的過程已經結束,列印出即可。2 如果n k,但n能被k整除,則應列印出k的值,並用n除以k的商,作為新的正整...

1020 分解質因數

每乙個大於等於2的自然數,均可寫成乙個或多個質數的乘積,例如 2 2 20 2 2 5這種將乙個整數分割成若干個質數之積的操作叫做分解質因數。現在,給你乙個整數n,請你編寫乙個程式,對其分解質因數。輸入為一行,正整數n,保證1 n 2147483647 1輸出n的質因數分解形式,格式為 n p1 e...

分解質因數分 (10分)

分解質因數 10分 題目內容 每個非素數 合數 都可以寫成幾個素數 也可稱為質數 相乘的形式,這幾個素數就都叫做這個合數的質因數。比如,6可以被分解為2x3,而24可以被分解為2x2x2x3。現在,你的程式要讀入乙個 2,100000 範圍內的整數,然後輸出它的質因數分解式 當讀到的就是素數時,輸出...