1 条题解

  • 0
    @ 2026-9-30 12:55:40

    C++ :

    
    #include <cstdio>
    typedef long long ll;
    int main(){
        ll N,K;
        if(scanf("%lld %lld",&N,&K)!=2) return 0;
        ll f[128]; int c=0, ok=1; ll rem=N;
        for(ll i=1;i<K;i++){
            ll p=0;
            for(ll d=2; d*d<=rem; d++) if(rem%d==0){ p=d; break; }
            if(!p) p=rem;                          /* rem 是质数 */
            if(p==rem){ ok=0; break; }             /* 无法再拆出 >1 的因子 */
            f[c++]=p; rem/=p;
        }
        if(!ok){ printf("No answer!\n"); return 0; }
        f[c++]=rem;
        printf("%lld=", N);
        for(int i=0;i<c;i++) printf(i?"*%lld":"%lld", f[i]);
        printf("\n");
        return 0;
    }
    
    
    • 1

    信息

    ID
    2814
    时间
    1000ms
    内存
    256MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者