#include <stdio.h>
#include <string.h>
#include <iostream>
#include <vector>
#include <math.h>
//#include <stdlib.h>
using namespace std;
struct factor
{
long int fac;
long int geshu;
}fa[1000001];
bool prime(long int n)
{
if(n==1)
return false;
else if(n==2)
return true;
else
{
for(long int i=2;i<sqrt(n);i++)
{
if(n%i==0)
{ return false;
break;
}
}
return true;
}
}
int main()
{
long int n;
long int i=2;
long int a;
long int n1;
long int j=0;
cin>>n;
n1=n;
if(n==1)
printf("1=1");
else
{
while(n!=1)
{
while(n%i==0)
{
fa[j].fac=i;
fa[j].geshu=1;
n=n/i;
while(n%i==0)
{ fa[j].geshu++;
n=n/i;
}
j++;
}
i++;
}
printf("%ld=",n1);
for(i=0;i<j-1;i++)
{
if(fa[i].geshu==1)
printf("%ld*",fa[i].fac);
else
printf("%ld^%ld*",fa[i].fac,fa[i].geshu);
}
if(fa[j-1].geshu==1)
printf("%ld",fa[j-1].fac);
else
printf("%ld^%ld",fa[j-1].fac,fa[j-1].geshu);
//system("pause");
}
}
注意1的判断
1059. Prime Factors (25)
最新推荐文章于 2024-02-21 17:30:29 发布