題意:
每個素數在素數表中都有乙個序號,設1的序號為0,則 2
的序號為1,3的序號為2,5的序號為3,以此類推。現在要求輸出 所
給定的數n的最大質因子的序號,0分析:
應用素數打表法。用flag計算素數的序號,將素數連同他的倍
數一起置為它的素數序號, 從小到大迴圈, 這樣陣列裡存放的序號就
是最大素數因子的序號了。
注意:初始化時令所有數為0,prime[0] = prime[1] = 1。
即a[i]為0是素數,prime[i]為1為素數。改變之後prime[i]為數 i
的最大素數因子的序號 。
**如下:
#include
#include
#include
using namespace std;
const int n = 1000005;
int a[n];
void prime()//用篩選法(分解素數技巧),求n的最大素數因子在素數表的位置;
}}int main()
return 0;
}
hdu2136(篩素數,遍歷預處理)
題目大意 就是找出每個數字的所組成的最大的質因素因子,然後輸出這個質因素因子在質數表裡的位置。比如 6,6的最大的質因素因子為3,3在因素表裡為第2位,故輸出2.有個特殊的,就是1輸出0.思路 利用num 1000005 陣列,從2到1000000的進行遍歷,根據陣列最開始都沒賦值的來處理,比如最開...
素數與最大公因子
定義 素數是大於 1 的正整數,並且除了 1 和它本身外不能被其他正整數整除。素數的數量 不超過 n 的素數大約有 frac 個。素性檢驗 人話 判斷乙個數是否是素數。試除法原理 如果乙個數 x 能整除 n 那麼 frac 也一定能整除 n x 與 frac 中必定有乙個數 le sqrt n 因此...
HDU 1058 素數因子DP
題目 乙個數的因子由2,3,5,7構成,則這個數為 humble number.前20個1 2,3,4,5,6,7,8,9,10,12,14,15,16,18,20,21,24,25,27,輸入n。輸出第n個 humble number.sample input 123 4111213 2122 2...