1.先判斷該數是否為質數,若為質數直接輸出。
2.依次判斷x(從2開始的數)是否為該數(n)的因數
3.若是因數,判斷該數是否為質數,若為質數記錄該數。
若n/x的結果也為質數,則此質數即為最大質因數。
ps:不可以將該數的所有質因數列出 會存在超時!
#include
using
namespace std;
typedef
long
long ll;
bool
isnum
(ll n)
return
false;}
intmain()
for(ll i=
2;i*i<=n;i++)if
(!isnum
(n/i))}
}printf
("%lld\n"
,m);
}return0;
}
質因數分解(C )(求最小質因數反求最大質因數)
p1075 質因數分解 題目描述 已知正整數nn是兩個不同的質數的乘積,試求出兩者中較大的那個質數。輸入格式 乙個正整數nn。輸出格式 乙個正整數pp,即較大的那個質數。輸入輸出樣例 輸入 21 輸出 7 說明 提示 n 2 10 9 noip 2012 普及組 第一題 直接找最大質因數會超時,所以...
C 分解質因數
怎樣將乙個正整數分解質因數。例如 輸入90,列印出90 2 3 3 5。程式分析 對n進行分解質因數,應先找到乙個最小的質數k,然後按下述步驟完成 1 如果這個質數恰等於n,則說明分解質因數的過程已經結束,列印出即可。2 如果n i,但n能被k整除,則應列印出i的值,並用n除以i的商,作為新的正整數...
C 分解質因數
題目描述 求出區間 a,b 中所有整數的質因數分解。輸入格式 輸入兩個整數a,b。輸出格式 每行輸出乙個數的分解,形如k a1a2a3 a1 a2 a3 k也是從小到大的 具體可看樣例 輸入樣例 3 10 輸出樣例 3 34 22 5 56 23 7 78 222 9 33 10 25 範圍與提示 ...