百练3177:判决素数个数

总时间限制: 
1000ms

内存限制: 
65536kB
描述

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

输入
两个整数X和Y(1 <= X,Y <= 105)。
输出
输出一个整数,表示X,Y之间的素数个数(包括X和Y)。
样例输入
1 100

样例输出

25

分析:

由于 1 <= X,Y <= 10因此不能在开始时将素数都算出来,保存在数组里(因为开不了那么大的数组)。

遍历X到Y,判断每一个数是否为素数,注意题目给的X和Y可能会 X > Y,这时候要交换一下

代码:

#include <cstdio>
#include <cstring>
#include <cmath>
bool isPrime(int x){
    if(x == 1)return false;
    if(x % 2 == 0 && x != 2)return false;
    else{
        for(int i = 3;i < sqrt(x)+1;i += 2){
            if(x % i == 0)return false;
        }
        return true;
    }
}
int main(){
    int x,y;
    scanf("%d%d",&x,&y);
    int sum = 0;
    if(x > y){
        int t;
        t = x;
        x = y;
        y = t;
    }
    for(int i = x;i <= y;i++){
        if(isPrime(i) == true)sum++;
    }
    printf("%d\n",sum);
    return 0;
}
时间: 2024-10-28 13:32:29

百练3177:判决素数个数的相关文章

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 /****************/

百练1678-整数的个数-2015正式A题

A:整数的个数 总时间限制:  1000ms 内存限制:  65536kB 描述 给定k(1< k < 100)个正整数,其中每个数都是大于等于1,小于等于10的数.写程序计算给定的k个正整数中,1,5和10出现的次数. 输入 输入有两行:第一行包含一个正整数k,第二行包含k个正整数,每两个正整数用一个空格分开. 输出 输出有三行,第一行为1出现的次数,,第二行为5出现的次数,第三行为10出现的次数. 样例输入 5 1 5 8 10 5 样例输出 1 2 1 来源 计算概论05-模拟考试1 #

[OpenJudge] 百练2754 八皇后

八皇后 Description 会下国际象棋的人都很清楚:皇后可以在横.竖.斜线上不限步数地吃掉其他棋子.如何将8个皇后放在棋盘上(有8 * 8个方格),使它们谁也不能被吃掉!这就是著名的八皇后问题. 对于某个满足要求的8皇后的摆放方法,定义一个皇后串a与之对应,即a=b1b2...b8,其中bi为相应摆法中第i行皇后所处的列数.已经知道8皇后问题一共有92组解(即92个不同的皇后串).给出一个数b,要求输出第b个串.串的比较是这样的:皇后串x置于皇后串y之前,当且仅当将x视为整数时比y小. I

NEFU117 素数个数的位数【素数定理】

题目连接: http://acm.nefu.edu.cn/JudgeOnline/problemshow.php?problem_id=117 题目大意: 给你一个整数N(1 < N < 1000000000),如果小于10^N的整数中素数的个数为π(N), 那么问题来了:求π(N)的位数是多少. 思路: 素数的个数π(N)有素数定理可得:π(N) = N/ln(N).本题中π(10^N) = 10^N/ln(10^N). 问题就转换为:求N^10*ln(N^10)共有多少位.设共有x位,可得

poj 百练 2765 八进制小数(精度问题)

2765:八进制小数 查看 提交 统计 提示 提问 总时间限制:  1000ms  内存限制:  65536kB 描述 八进制小数可以用十进制小数精确的表示.比如,八进制里面的0.75等于十进制里面的0.963125 (7/8 + 5/64).所有小数点后位数为n的八进制小数都可以表示成小数点后位数不多于3n的十进制小数. 你的任务是写一个程序,把(0, 1)中的八进制小数转化成十进制小数. 输入 输入包括若干八进制小数,每个小数占用一行.每个小数的形式是0.d1d2d3 ... dk,这里di

LeetCode Count Primes 求素数个数

题意:给一个数n,返回小于n的素数个数. 思路: 1 class Solution { 2 public: 3 int countPrimes(int n) { 4 bool* isPrime =new bool[n] ; 5 6 memset(isPrime,1,n); 7 8 for(int i=2; i*i<n; i++) 9 { 10 if(!isPrime[i]) continue; 11 for(int j=i*i; j<n; j+=i) isPrime[j]=0; 12 } 13

1439 筛法统计素数个数

1439 统计素数个数 时间限制: 1 s 空间限制: 1000 KB 题目等级 : 青铜 Bronze 题解 题目描述 Description 输入区间[L, R],寻找在此区间内的质数. 输入描述 Input Description 开区间[L, R]中的整数L,R 输出描述 Output Description 在此区间中所有质数的个数n 样例输入 Sample Input 0 100 样例输出 Sample Output 25 数据范围及提示 Data Size & Hint 对于所有数

1453 统计素数个数 2

1453 统计素数个数 2 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 黄金 Gold 题目描述 Description 判断[a,b]中素数的个数 输入描述 Input Description 输入共1行,a,b两数 输出描述 Output Description 输出共1行,输出素数的个数 样例输入 Sample Input 3 5 样例输出 Sample Output 2 数据范围及提示 Data Size & Hint 对于100%的数据,a,b≤5000,000

ACM/ICPC 之 递归(POJ2663-完全覆盖+POJ1057(百练2775)-旧式文件结构图)

POJ2663-完全覆盖 题解见首注释 //简单递推-三个米诺牌(3*2)为一个单位打草稿得出规律 //题意-3*n块方格能被1*2的米诺牌以多少种情况完全覆盖 //Memory 132K Time: 0 Ms #include<iostream> #include<cstring> #include<cstdio> using namespace std; int ans; //开始平铺 int Tiling(int n) { int sum = 0; if (n =