반응형
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
int i, j, n, tmp;
scanf("%d",&n);
vector<int> ch(n+1);
for(int i=2; i <=n ; i++){
int tmp = i;
int mod = 2;
while(tmp!=1){
if(tmp%mod==0){
tmp/=mod;
ch[mod]++;
}
else{
mod++;
}
}
}
printf("%d! = ",n);
for(int i =1; i <=n; i++){
if(ch[i]>0){
printf("%d ",ch[i]);
}
}
return 0;
}
N!을 소인수 분해해서 표현
소인수분해는 2부터 n까지 나눠질 때까지 계속 돌면
편하게 할 수 있다.
반응형
'Algorithm > etc' 카테고리의 다른 글
3의 개수 (0) | 2021.12.27 |
---|---|
N! 0의 개수 (0) | 2021.12.27 |
숫자 뒤집기 cpp (0) | 2021.12.25 |
약수의 개수 구하기 (0) | 2021.12.24 |
자리수의 합 (0) | 2021.12.23 |