Bailian3177 判决素数个数【素数判定】

原题链接:判决素数个数

总时间限制: 

1000ms

内存限制: 

65536kB

描述

输入两个整数X和Y,输出两者之间的素数个数(包括X和Y)。

输入

两个整数X和Y(1 <= X,Y <= 105)。

输出

输出一个整数,表示X,Y之间的素数个数(包括X和Y)。

样例输入

1 100

样例输出

25

题记:

这道题看似简单却有个小坑,x并不一定小于y,所以可能需要对调一下。

考虑到这一点在结合素数判定就没问题了。

C++程序如下:

#include<iostream>
using namespace std;

int main(){
	int x, y, t, count=0, flag;
    cin >> x >> y;
    if(x > y){
    	t = x;
    	x = y;
    	y = t;
	}
    for(int i=x; i<=y; i++){
        flag=1;
        for(int j=2; j*j<=i; j++){
            if(i%j == 0){
                flag = 0;
                break;
            }
        }
        if(i!=1 && flag){
            count ++;
        }
    }
    cout << count << endl;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/fyy_lufan/article/details/82989492
今日推荐