暴力解決
先找出整數n的所有因數,再提出到其中不是質數的因數。
(有一種題,整數n由其所有質因數的積來表示
eg:35 = 3*5,;24 = 2*2*2*3如何求解的問題)
#include#include//#include//#includeusing namespace std;
int main()
for (vector::iterator iter = vec.begin(); iter < vec.end(); iter++)
}for (vector::iterator iter = vec.begin(); iter < vec.end(); iter++)
cout << *iter << " ";
return 0;
}
快速求n 的質因數及個數
一般要進行質因數分解時,我們是for迴圈對每個數進行質因數分解,但少數的情況下,數字太大了,題目不允許這樣的做法,所以我們需要學會一種更快的方法來求質因數。我們來乙個樣例說明一下 123 4567 89我們 求得在9 中2的 個數12 34首先 我們計算 出2的倍 數的個數 8 2 412 其次我們...
質因數分解(C )(求最小質因數反求最大質因數)
p1075 質因數分解 題目描述 已知正整數nn是兩個不同的質數的乘積,試求出兩者中較大的那個質數。輸入格式 乙個正整數nn。輸出格式 乙個正整數pp,即較大的那個質數。輸入輸出樣例 輸入 21 輸出 7 說明 提示 n 2 10 9 noip 2012 普及組 第一題 直接找最大質因數會超時,所以...
分解正整數的質因數
首先,由算術基本定理可知,任何乙個大於1的正整數,都可以分解成若干個質數的乘積,並且這種乘積的形式是唯一的。所以,對於整數分解,如果先從最小的質數n 2開始進行分解,如果能整除,就只取商,直到不能除時,n 然後判斷n是否大於現在的商。如果大於,結束程式。否則繼續迴圈。核心 很短,只有10行左右。vo...