很简单的一题,就是判断一下素数的问题。。。
#include<stdio.h>
#include<math.h>
int prime(int n)
{ // 1 代表是素数;0 代表不是素数
int i,flag;
if(n==1 || n==2) return 1;
else{
flag=0;
for(i=2;i<=sqrt(n);i++){
if(n%i==0){
flag=1;
break;
}
}
if(flag==1) return 0;
else return 1;
}
}
int main()
{
int i,j,n,a[100],flag;
while(scanf("%d",&n)!=EOF)
{
if(prime(n)==1) printf("%d\n",n);
else{
j=0; i=2;
while(prime(n)==0){
if(n%i==0){
n/=i;
a[j++]=i;
}
else i++;
}
for(i=0;i<j;i++)
printf("%d*",a[i]);
printf("%d\n",n);
}
}
system("pause");
return 0;
}