首页 > 代码库 > 2017计算机学科夏令营上机考试-A判决素数个数

2017计算机学科夏令营上机考试-A判决素数个数

A:判决素数个数

总时间限制: 
1000ms
 
内存限制: 
65536kB
描述

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

输入
两个整数X和Y(1 <= X,Y <= 105)。
输出
输出一个整数,表示X,Y之间的素数个数(包括X和Y)。
样例输入
1 100
样例输出
25
代码:
/*****************/
//NAME:ChengtaoGuo
//DATE:2017-08-02
//SOURCE:BAILIANOJ
/****************/
#include<iostream>
#include<cmath>
using namespace std;
int max(int a,int b)
{return a>b?a:b;}

int min(int a,int b)
{return a<b?a:b;}
int flag=0;

int main()
{
    int i,j,x,y,c,d;int count=0;
    cin>>x>>y;
    c=min(x,y);
    d=max(x,y);
    for(i=c;i<=d;i++)
    {
        flag=0;
        for(j=2;j<=sqrt(i);j++)
        {
            if(i%j==0)
            {
                flag=1;
                break;
            }
        }
        if(flag==0)
        {
            count++;
        }
    }
    if(min(x,y)==1)
        cout<<count-1<<endl;
    else
    cout<<count<<endl;
    return 0;
}

 

2017计算机学科夏令营上机考试-A判决素数个数