AtCoder Beginner Contest 169 D.Div Game
題目鏈接
數論題,既然題目要找的能被 整除的數都是素數的冪次方,那麼我們就對每一個素數及其冪次方,找所有能被 整除的即可,但是對一個數而言,它所有的因子都出現在 內,所以光這樣判斷還不夠,最後還要特判一下 是否大於 1,AC代碼如下:
#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
main(){
ll n,ans=0,i,j;
cin>>n;
for(i=2;i<=sqrt(n);i++){
j=i;
while(n%j==0) ans++,n/=j,j*=i;
while(n%i==0) n/=i;
}
cout<<ans+(n>1);
}