题目描述:
每个数都可以表示成质因子相乘的形式,如:
3=3
6=2*3
100=2*2*5*5
给定一个n(2<=n<=30000),输出相应的质因子相乘表达式,表达式中不能出现空格及其它字符,表达式的最后不能出现乘号。
输入格式:
一个数
输出格式:
一行,质因子相乘的形式
样例输入:
12
样例输出:
12=2*2*3
提示:
如果n<=10^9,程序要如何优化?
时间限制: 1000ms
空间限制: 128MB
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,a=2;
cin>>n;
cout<<n<<"=";
while(n!=1){
if(n%a==0){
cout<<a;
n=n/a;
if(n!=1){
cout<<"*";
}
}else{
a++;
}
}
return 0;
}