因式分解(计蒜网)

时间:2022-07-24
本文章向大家介绍因式分解(计蒜网),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

蒜头君有一个数,请你输出其素因子分解表达式。

输入格式 输入一个整数 n (2 le n le 100)n(2≤n≤100)。

输出格式 输出该整数的因子分解表达式,表达式中各个素数从小到大排列。

如果该整数可以分解出因子 aa 的 bb 次方:当 bb 大于 11 时,写做a^b;当 bb 等于 11 时,则直接写成a。

输出时每行末尾的多余空格,不影响答案正确性

#include<bits/stdc++.h>

using namespace std;
int s[150];
void f(int x,int y)
{
    if(x==0||y>x)
        return;
    else
    {
        while(x%y==0)
        {
            x/=y;
            s[y]++;
        }
        f(x,y+1);
    }
}
int main()
{
    int n;
    cin>>n;
    f(n,2);
    bool flag=false;
    for(int i=2;i<=100;i++)
    {
        if(flag&&s[i])
            cout<<"*";
        if(s[i])
            flag=true;
        if(s[i]==1)
            cout<<i;
        else if(s[i]>1)
            cout<<i<<"^"<<s[i];
    }
    return 0;
}