1.【题目描述】
【题目描述】
输入一个数,输出其素因子分解表达式。
【输入】
输入一个整数 n (2≤n<100)。
【输出】
输出该整数的因子分解表达式。
表达式中各个素数从小到大排列。
如果该整数可以分解出因子a的b次方,当b大于1时,写做 a^b ;当b等于1时,则直接写成a。
【输入样例】
60
【输出样例】
2^235
2.【代码】
#include<bits/stdc++.h>
using namespace std;
int a[10000],c[10000],t=0,b;
void fun(int n)
{
if(b==1)
return ;
while(b%n==0)
{
a[t++]=n;
b=b/n;
}
return fun(n+1);
}
int main()
{
cin>>b;
fun(2);
for(int i=0;i<t;i++)
{
c[a[i]]++;
}
int f=0;
for(int i=2;i<=100;i++)
{
if(f==1&&c[i]!=0)
cout<<"*";
if(c[i]!=0)
f=1;
if(c[i]==1)
cout<<i;
if(c[i]>1)
cout<<i<<"^"<<c[i];
}
return 0;
}
仅供参考!