分解質因數(5分)

2021-08-10 09:40:08 字數 667 閱讀 8810

題目內容:

每個非素數(合數)都可以寫成幾個素數(也可稱為質數)相乘的形式,這幾個素數就都叫做這個合數的質因數。比如,6可以被分解為2x3,而24可以被分解為2x2x2x3。

現在,你的程式要讀入乙個[2,100000]範圍內的整數,然後輸出它的質因數分解式;當讀到的就是素數時,輸出它本身。

輸入格式:

乙個整數,範圍在[2,100000]內。

輸出格式:

形如:n=axbxcxd

或n=n

所有的符號之間都沒有空格,x是小寫字母x。abcd這樣的數字一定是從小到大排列的。

輸入樣例:

18輸出樣例:

18=2x3x3

時間限制:500ms記憶體限制:32000kb

#include#includeint main()

i++;

} if(j!=0)

printf("x%d",num);

else

printf("%d",num);

}

本以為會超時

沒想到直接過了

肯定還有更好的辦法

分解質因數

質因數概念 每個合數都可以寫成幾個質數相乘的形式,這幾個質數就都叫做這個合數的質因數。如果乙個質數是某個數的因數,那麼就說這個質數是這個數的質因數。而這個因數一定是乙個質數。演算法原理 先根據需要分解的合數生成乙個質數表。然後依次從小到大依次除合數,每次除之後都將儲存步驟。表達不好,還是看 吧 us...

分解質因數

分解質因數 問題描述 求出區間 a,b 中所有整數的質因數分解。輸入格式 輸入兩個整數a,b。輸出格式 每行輸出乙個數的分解,形如k a1 a2 a3.a1 a2 a3.k也是從小到大的 具體可看樣例 樣例輸入 3 10 樣例輸出 3 34 2 2 5 56 2 3 7 78 2 2 2 9 3 3...

分解質因數

大數的質因數分解一直以來是亟需解決的難題。本文從最基本的試除法開始,分解質因數的方法。下面的程式在開頭定義了乙個巨集opt,如果刪掉這個定義,就可以執行最原始的演算法。一 樸素演算法 include include include using namespace std define opt int...