Problem1062--质因子表示1062: 质因子表示
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 49 Solved: 18
[Submit] [Status] [Web Board] [Creator:]Description
每个数都可以表示成质因子相乘的形式,如:
3=3
6=2*3
100=2*2*5*5
给定一个n(2<=n<=30000),输出相应的质因子相乘表达式,表达式中不能出现空格及其它字符,表达式的最后不能出现乘号。
Input
一个数
Output
行,质因子相乘的形式
Sample Input
12
Sample Output
12=2*2*3
HINT
#include <iostream>
using namespace std;
int main()
{
int data;
int i;
cin>>data;
i=2;
cout<<data<<"=";
while(i<=data)
{
if(data%i==0)
{
if(i<data) cout<<i<<"*";
else cout<<i;
data=data/i;
}
else i++;
}
return 0;
}
下面的写法会超时
#include <iostream>
using namespace std;
int main()
{
int data,i;
cin>>data;
i=2;
printf("%d=",data);
while(data>0)
{
if(data%i==0)
{
if(data/i==1)
printf("%d",i);
else
printf("%d*",i);
data=data/i;
}
else i++;
}
return 0;
}
Source/Category
[Submit] [Status]