这个是40以内的,要是100的话只要在sum[]中填写小于50的素数,并修改相应的sum[]的最大坐标
int main()
{
int sum[8]={2,3,5,7,11,13,17,19};
int a,b,i=0;
int ret[50],s=0;
printf("input a number(<40);");
scanf("%d",&a);
b=a;
while((sum[i]<a/2 && i<8))
{
if(a%sum[i]==0)
{
//printf("%d,%d\n",sum[i],a/sum[i]);
ret[s]=sum[i];
a=a/sum[i];
i=0;
s++;
}
else
i++;
}
for(i=0;i<s;i++)
{
printf("%d*%d\n",ret[i],b/ret[i]);
ret[i+1]=ret[i+1]*ret[i];
}
}