POJ 3177 判决素数个数

时间限制: 
1000ms
内存限制: 
65536kB
描述
输入两个整数X和Y,输出两者之间的素数个数(包括X和Y)。
输入
两个整数X和Y,X和Y的大小任意。
输出
输出一个整数,结果可以是0,或大于0的整数。
样例输入
1 100
样例输出
25
 
(1)、源代码:
#include <iostream>
#include <cmath>
using namespace std;
 
bool isPrime(int a){
                int i;
                if(a == 1)
                                return false;
                for(i = 2; i <= sqrt(1.0 * a); i++)
                                if(!(a%i))
                                                return false;
                return true;
}
 
int main(){
                int i, a, b, count = 0;
 
                cin >> a >> b;
                if(a < b){
                                for(i = a; i <=b; i++)
                                                if(isPrime(i))
                                                                count++;
                }
                else{
                                for(i = b; i <=a; i++)
                                                if(isPrime(i))
                                                                count++;
                }
                cout << count << endl;
                return 0;
}
  
(2)、解题思路:略
(3)、可能出错:注意判断a,b的大小。
 
 
posted on 2012-05-11 20:14  谷堆旁边  阅读(926)  评论(0编辑  收藏  举报