#include <stdio.h>
#include <stdlib.h>
int main()
{
int x[65535],k,i,n;
scanf("%d",&k);
//进行K个数的输入
for(i=0;i<k;i++)
{
scanf("%d",&x[i]);
}
//得出k个数的各个素数
for(i=0;i<k;i++)
{
for(n=1;x[i]!=0;n++) //第i个数
{
if(x[i]%n==0) //这个n满足整除,如果还是素数就输出,且变x[i]
{
if(n/)
{
printf("%d",n);
x[i]=x[i]/n;
if(x[i]==1) {printf("\n");break;}
printf("*");
n=n-1;
}
}
}
}
}
改进后的
#include <stdio.h>
#include <stdlib.h>
int pan(int n)
{
int i,t=0; //t为0时是素数。t=2时不是素数。
if(n==2) t=0;
else if(n==3) t=0;
else
for(i=4;i<n;i++)
{
if(n%i==0) //这个数可以被整除
t=2;
}
return t;
}
int main()
{
int x[65535],k,i,n;
scanf("%d",&k);
//进行K个数的输入
for(i=0;i<k;i++)
{
scanf("%d",&x[i]);
}
//得出k个数的各个素数
for(i=0;i<k;i++)
{
for(n=2;x[i]!=0;n++) //第i个数
{
if(x[i]%n==0) //这个n满足整除,如果还是素数就输出,且变x[i]
{
if(pan(n)==0)
{
printf("%d",n);
x[i]=x[i]/n;
if(x[i]==1) {printf("\n");break;}
printf("*");
n=n-1;
}
}
}
}
}