求正整數n(n>1)的質因數的個數。
相同的質因數需要重複計算。如120=2*2*2*3*5,共有5個質因數。
可能有多組測試資料,每組測試資料的輸入是乙個正整數n,(1< n< 10^9)。
對於每組資料,輸出n的質因數的個數。
120
5
#include #include#include
#include
using
namespace
std;
bool mark[100001];//
標記數字是否為素數,如果為true,則為非素數
int prime[100001];//
儲存篩得的素數
int primesize;//
儲存素數個數
void
init()
}int
main()
anssize++;//
素因數個數增加
if(n == 1)//
若已經被分解成1,則分解提前終止
break
; }
}if(n != 1)
int ans = 0
;
for(int i=0;i)
ans += ansnum[i];//
統計各個素因數的冪指數
printf("%d"
,ans);
return0;
}
總結:學會遍歷篩選素數。這其中有個部分,j=i*i為開始,是因為i*k(k
質因數的個數
求正整數n n 1 的質因數的個數。相同的質因數需要重複計算。如120 2 2 2 3 5,共有5個質因數。可能有多組測試資料,每組測試資料的輸入是乙個正整數n,1對於每組資料,輸出n的質因數的個數。12020055注意1不是n的質因數 若n為質數,n是n的質因數。include include c...
質因數的個數
求正整數n n 1 的質因數的個數。相同的質因數需要重複計算。如120 2 2 2 3 5,共有5個質因數。可能有多組測試資料,每組測試資料的輸入是乙個正整數n,1示例1 120 5 pat.cpp 定義控制台應用程式的 include stdafx.h include stdio.h includ...
質因數的個數
求正整數n n 1 的質因數的個數。相同的質因數需要重複計算。如120 2 2 2 3 5,共有5個質因數。輸入描述 可能有多組測試資料,每組測試資料的輸入是乙個正整數n,1 輸出描述 對於每組資料,輸出n的質因數的個數。示例1 1205import math def judge num 判斷是否是...