「一本通 6.3 练习 1」X-factor Chain

Posted huihao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了「一本通 6.3 练习 1」X-factor Chain相关的知识,希望对你有一定的参考价值。

 

 

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
LL f[30]; int c[1200000];
int main(){
    int x; f[0]=1;
    for(int i=1;i<=20;++i)
    f[i]=i*f[i-1];
    while(~scanf("%d",&x)){
        int tot=0; LL ans; c[0]=0;
        for(int i=2;i*i<=x;++i){
            if(x%i==0){
                c[++c[0]]=0;
                while(x%i==0){x/=i; c[c[0]]++;}
                tot+=c[c[0]];
            }
        }
        if(x>1) c[++c[0]]=1,tot++;
        ans=f[tot];
        for(int i=1;i<=c[0];++i)
        ans/=f[c[i]];
        printf("%d %lld
",tot,ans);
    }
    return 0;
}
    

 

以上是关于「一本通 6.3 练习 1」X-factor Chain的主要内容,如果未能解决你的问题,请参考以下文章

loj10188. 「一本通 5.6 练习 1」玩具装箱

「一本通 6.3 例 1」反素数 Antiprime

「一本通 6.3 例 2」Hankson 的趣味题

「一本通 5.4 练习 1」涂抹果酱

#10023. 「一本通 1.3 练习 2」平板涂色

loj10147. 「一本通 5.1 例 1」石子合并