修改如下,供参考:
#include<stdio.h>
int isPrime(int n)
{
int i;
if (n <= 3) return n > 1;
for (i = 2; i * i <= n; i++)
if (n % i == 0) return 0;
return 1;
}
int main()
{
int k, n, flag = 1, flg = 1, m = 0;
scanf("%d", &k);
while (k--)
{
scanf("%d", &n);
if (n < 2 || n > 1000000000)
continue;
flag = 1, flg = 1, m = n;
while (m)
{
if (m % 10 == 0)
{
printf("No\n");
flag = 0;
break;
}
flg *= 10;
m /= 10;
}//只要有0就不行
if (flag)
{
flg /= 10;
while (isPrime(n) && flg != 1)
{
n %= flg;
flg /= 10;
}
if (isPrime(n) && flg == 1)
printf("Yes\n");
else
printf("No\n");
}
}
}
你刚输入个k就调用select,这都什么逻辑,乱糟糟的
还有,已经实现过的函数,不调用,一遍一遍复制粘贴,真是又臭又长