感觉这么简单的东西没必要讲的……
例题传送门= ̄ω ̄=

最直接的就是 for(int i=2;i<=n;i++) 判断 i 是否是 n 的质因数,然后递归……
其实只要做个小小小小小小小的优化就可以优化到√n,复杂度小好多啊!怎么做呢?
这样不就行了:for(int i=2;i*i<n;i++)

例题题解代码:

#include <iostream>
using namespace std;
inline void work(int num,int cnt)
{
    for(int i=cnt;i*i<=num;i++)
        if(num%i==0){cout<<i<<'*',work(num/i,i);return;}
    cout<<num;
}
int main()
{
    ios::sync_with_stdio(0);
    int n;cin>>n,cout<<n<<'=',work(n,2);
    return 0;
}

分类: 文章

XZYQvQ

炒鸡辣鸡的制杖蒟蒻一枚QvQ

0 条评论

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用 * 标注