http://acm.nit.net.cn/showproblem.jsp?pid=1014
#include <stdio.h> #include <math.h> int is_prime(int); void swap(int *, int *); int main() { int a, b; int i; int num; while(scanf("%d%d", &a, &b) == 2) { if(a > b) swap(&a, &b); num = 0; for(i = a; i <= b; i++) { if(is_prime(i) != 0) num++; } printf("%d\n", num); } return 0; } int is_prime(int num) { if(num == 0 || num == 1) return 0; int i; int t = sqrt(num) + 1; for(i = 2; i < t; i++) { if(num % i == 0) return 0; } return 1; } void swap(int * a, int * b) { int temp = * a; * a = * b; * b = temp; }