#include <stdio.h>
#include <string.h>
#include <math.h>
int is_prime(int n)
{
if(n <= 1) return 0;
int m = floor(sqrt(n) + 0.5);
for(int i = 2; i <= m; i++)
if(n % i == 0) return 0;
return 1;
}
int main()
{
int num, kase;
kase = 1;
while(~scanf("%d", &num) && (num > 0))
{
if(!is_prime(num) || (num == 2)) printf("%d: no\n",kase++);
else printf("%d: yes\n",kase++);
}
return 0;
#include <string.h>
#include <math.h>
int is_prime(int n)
{
if(n <= 1) return 0;
int m = floor(sqrt(n) + 0.5);
for(int i = 2; i <= m; i++)
if(n % i == 0) return 0;
return 1;
}
int main()
{
int num, kase;
kase = 1;
while(~scanf("%d", &num) && (num > 0))
{
if(!is_prime(num) || (num == 2)) printf("%d: no\n",kase++);
else printf("%d: yes\n",kase++);
}
return 0;
}
心得: The list of integers is terminated with a number<= 0.....真是瞎了我的狗眼,还wa了一次