学校OJ
死活找不到错哪(枯了,求挑错)
#include
#include
int prm(unsigned int );
unsigned int rev(unsigned int );
int main()
{
unsigned int n;
scanf("%u",&n);
while(n--)
{
unsigned int m,t;
scanf("%u",&m);
if(prm(m)==0)
printf("0\n");
else
{
t = rev(m);
if(prm(t)!=0)
printf("1\n");
else if(prm(t)==0)
printf("0\n");
}
}
return 0;
}
int prm(unsigned int a)
{
int i,k;
k = sqrt(1.0*a);
for(i=2;i<=k;i++)
{
if(a%i==0)
return 0;
if(i>k)
return 1;
}
}
unsigned int rev(unsigned int b)
{
int v=0;
while(b!=0)
{
v = v*10+b%10;
b/=10;
}
return v;
}
#include <stdio.h>
#include <math.h>
int prm(unsigned int);
unsigned int rev(unsigned int);
int main()
{
unsigned int n;
unsigned int t;
scanf("%u", &n);
unsigned int m[100000] = {0};
for (int i = 0; i < n; i++)
{
scanf("%u", &m[i]);
}
for (int i = 0; i < n; i++)
{
if (prm(m[i]) == 0)
printf("0\n");
else
{
t = rev(m[i]);
if (prm(t) != 0)
printf("1\n");
else if (prm(t) == 0)
printf("0\n");
}
}
return 0;
}
int prm(unsigned int a)
{
int i, k;
k = sqrt(1.0 * a);
for (i = 2; i <= k; i++)
{
if (a % i == 0)
return 0;
if (i > k)
return 1;
}
}
unsigned int rev(unsigned int b)
{
int v = 0;
while (b != 0)
{
v = v * 10 + b % 10;
b /= 10;
}
return v;
}
你没有写错,只不过没有按照题目规则输入和输出,题目是先全部输入后再全部输出结果