快速素数的,没法判断全面怎么改好
int isprime (int n){
int j=n%10;
int sum=0,i,flag=0,g=n,m=n;
int q=0,p=0,h,z;
while (g>0)
{
sum+=g%10;
g=g/10;
}
while (m>0)//奇数和
{
q=q*10+j;
m=m/100;
j=m%10;
}
h=n/10;
while (h>0)//偶数和
{
z=h%10;
p=p%10+z;
h=h/100;
}
if((((q-p)%7==0&&n!=7)||(q-p)%11==0||(q-p)%13==0)&&(q-p)!=0){
flag=0;
}
else if(n<2) {
flag=0;
}
else if(n%5==0&&n!=5)
{
flag=0;
}
else if (n%2==0&&n!=2){
flag=0;
}
else if(n==2 || n==5 || n==11||n==3||n==7)
{
flag=1;
}
else if((sum%3==0&&n!=3)||sum%9==0)
{
flag=0;
}
else
{
for (i=2;i<sqrt(n);i++)
{
if (n%i!=0)
{
flag=1;
}
}
}