Eddy's research I
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 7629 Accepted Submission(s): 4636
解題思路:
數據範圍比較小,可應用試除法進行整數分解.
AC代碼:
#include<iostream>
#include<cmath>
using namespace std;
const int maxn = 10001;
void divide(int n)
{
int i,ct = 0,factor[maxn];
for(i=2;i<=sqrt(n+0.0);i++)
{
while(n % i == 0)
{
ct++;
factor[ct] = i;
if(ct == 1)
{
printf("%d",factor[ct]);
}
else
{
printf("*%d",factor[ct]);
}
n /= i;
}
}
if(n != 1)
{
ct++;
factor[ct] = n;
//cout<<"111"<<endl;
if(ct == 1)
{
printf("%d",factor[ct]);
}
else
{
printf("*%d",factor[ct]);
}
}
}
int main()
{
int m;
while(scanf("%d",&m) != EOF)
{
divide(m);
printf("\n");
}
return 0;
}