求整數N的質因數

2021-08-01 15:22:43 字數 427 閱讀 2797

暴力解決

先找出整數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...