http://acm.sdut.edu.cn/judgeonline/showproblem?problem_id=1634
#include<iostream>
#include<cmath>
using namespace std;
int su(int m) //判断素数的函数
{ int t,j;
t=sqrt(m); //判断m是不是素数
for(j=2;j<=t;j++)
if(m%j==0) break;
if(j>t) return 1;
else return 0;
}
int main()
{
int n,i,m,t,j,l,q,k;
cin>>n;
for(i=1;i<=n;i++) //组数
{ cin>>k; //输入K,要整除数;
q=k;
for(m=2;m<=k;m++) //m为k的预备整除因子
{
if(su(m)) //m为素数
{
if((k%m)==0) //m是k的素因子
{ cout<<m;
if(!su(k)) //如果k是素数,则其后不会有素因子,故不用输出“*”
cout<<"*";
k=k/m; //k值除素因子
m=1;//重设m,防止遗漏。m不能重设为2
// 结果会出错
}
}
}
cout<<endl;
}
return 0;
}