水题,因式分解
#include <stdio.h>
#include <math.h>
int num=0;
int prime[10000];
int judge(int n)
{
int i;
for(i=2; i<=sqrt((double)n)+0.5; i++)
if(n%i==0)return 0;
return 1;
}
void init()
{
int i;
for(i=2; i<=65535; i++)
if(judge(i))
{
num++;
prime[num]=i;
}
}
int main()
{
init();
int i,n;
while(scanf("%d",&n)!=EOF)
{
int first=1;
for(i=1; i<=num&&prime[i]<=n; i++)
{
if(n%prime[i]==0)
{
if(first){printf("%d",prime[i]);first=0;}
else printf("*%d",prime[i]);
n/=prime[i];
}
while(n%prime[i]==0)
{
n=n/prime[i];
printf("*%d",prime[i]);
}
}
printf("\n");
}
return 0;
}