ACM_校庆素数
Problem Description:
广财建校33年了,如今迎来了她的校庆。
小财最近想在研究素数,她突发奇想,把包含33的素数称为校庆素数。
她想知道在L和R之间(包含L和R)有多少个校庆素数,她觉得这个问题太简单了,于是想考一下你。
比如 2333 就是一个校庆素数。
Input:
输入的第一行包括一个T(T <= 50),代表有T组数据。
每组数据输入两个整数L和R (1<= L <= R <= 500000)。
Output:
对于每组数据,输出"Case #x: y"(不包括引号),其中x代表数据的编号,从1开始,y代表该组数据的结果。
Sample Input:
2
1 233
1 232
Sample Output:
Case #1: 1
Case #2: 0 Hints:
1到233中只有233是校庆素数。
解题思路:求区间(L,R)中的整数包含“33”且是素数的个数。首先判断区间中是否有含“33”的整数,再判断这个数是否为素数即可。简单分析一下这个算法最坏的时间复杂度,假设区间长是5*10^5,判断区间的一个数是否含“33”,最多循环4次,(我们可以评估一下所含“33”的个数其实并不多,因此这个时间可以忽略)判断该数是否为素数时间为O(sqrt(n)),最多为(其实远小于,因为所含“33”的整数不多)10^3,所以综合起来应该是大于10^6但不会很大,提交一发,541msA过。
AC代码:
#include<bits/stdc++.h>
using namespace std;
bool isprime(int x){ //判断素数
for(int i=;i*i<=x;++i)
if(x%i==)return false;
return true;
}
int main()
{
int t,l,r,tmp,num;
cin>>t;
for(int j=;j<=t;++j){
cin>>l>>r;num=;//num是计数器
for(int i=l;i<=r;++i){
tmp=i;
while(tmp%!= && tmp>)tmp/=;//先判断是否含"33"的整数,这里的tmp判断是否大于10,因为至少得有两位数才可以判断
if(tmp%== && isprime(i))num++;//再判断是否为素数
}
cout<<"Case #"<<j<<": "<<num<<endl;
}
return ;
}
ACM_校庆素数的更多相关文章
- GDUFE-OJ 1359校庆素数 埃氏筛法
Problem Description: 包含33的素数称为校庆素数. 她想知道在L和R之间(包含L和R)有多少个校庆素数. 比如 2333 就是一个校庆素数. Input: 输入的第一行包括一个T( ...
- ACM_素数筛选
/* *素数筛法,判断小于MAXN的数是不是素数. *notprime是一张表,为false表示是素数,true表示不是素数 */ const int MAXN = 1000010; bool not ...
- ACM_回文素数
回文素数 Time Limit: 2000/1000ms (Java/Others) Problem Description: 131号是一个主回文,因为它是一个素数和一个回文(当向后读时,它是相同的 ...
- ACM_天涯若比邻(最小与最大相邻素数)
天涯若比邻 Time Limit: 2000/1000ms (Java/Others) Problem Description: 一心想搞ACM的小G最近迷上了数论,特别对于跟“素数”相关的问题特别有 ...
- ACM_哥德巴赫猜想(素数筛)
哥德巴赫猜想 Time Limit: 2000/1000ms (Java/Others) Problem Description: 哥德巴赫猜想大概是这么一回事:“偶数(>=4) == 两个质数 ...
- ACM_来自不给标题的菜鸟出题组(巴什博弈+素数判定)
来自不给标题的菜鸟出题组 Time Limit: 2000/1000ms (Java/Others) Problem Description: 大B和小b合作出一道程序设计月赛的题,他们的想法是给定一 ...
- nyist 488 素数环(搜索+回溯)
素数环 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描写叙述 有一个整数n,把从1到n的数字无反复的排列成环,且使每相邻两个数(包含首尾)的和都为素数,称为素数环. ...
- nyoj520——素数序列
最大素因子 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 GreyAnts最近正在学习数论中的素数,但是现在他遇到了一个难题:给定一个整数n,要求我们求出n的最大素 ...
- 素数环 南阳acm488(回溯法)
素数环 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 有一个整数n,把从1到n的数字无重复的排列成环,且使每相邻两个数(包括首尾)的和都为素数,称为素数环. 为了简 ...
随机推荐
- CF901C. Bipartite Segments
n<=300000,m<=300000的图,图上只有奇环,q<=300000个询问每次问:一个区间内有多少个子区间,满足只保留编号在该区间的点以及他们之间的边,可以构成一个二分图. ...
- Mayor's posters POJ - 2528
The citizens of Bytetown, AB, could not stand that the candidates in the mayoral election campaign h ...
- POJ 3686_The Windy's
题意: N个工件要在M个工厂加工,一个工件必须在一个工厂做完,工厂一次只能处理一个工件.给定每个工件在每个工厂加工所需时间,求出每个工件加工结束的最小时间平均值. 分析: 工厂一次只能处理一个工件,那 ...
- 逆袭指数-——杭电校赛(dfs)
逆袭指数 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- Remove Duplicates from Sorted List (链表)
Given a sorted linked list, delete all duplicates such that each element appear only once. For examp ...
- springboot技术
一 我们为什么要用SpringBoot? 1. SpringBoot核心功能 SpringBoot的核心最足要的功能是自动配置,简单说下springBoot,springboot可以替代额xml配 ...
- 【SSH进阶之路】Hibernate搭建开发环境+简单实例(二)
Hibernate是很典型的持久层框架,持久化的思想是很值得我们学习和研究的.这篇博文,我们主要以实例的形式学习Hibernate,不深究Hibernate的思想和原理,否则,一味追求,苦学思想和原理 ...
- git/svn里面的merge和rebase区别
现在一般都用界面化的东西了,这种用法相近的命令行知不知道区别都可以.但是有些人喜欢研究,那么我来个传送门: 当我们用命令行操作git的时候,merge和rebase 有什么区别,请参考 https:/ ...
- 视频生成 量产 win 转 linux ffmpeg linux 安装 对批量视频的尽可能短时间生成
环境准备 Welcome to aliyun Elastic Compute Service! [root@mytest ~]# pip install baidu-aip Looking in in ...
- 01排序的Java实现
比赛描写叙述: 的个数同样时再按ASCII码值排序. 输入: 个字符. 输出: 串的顺序.使得串按基本描写叙述的方式排序. 例子输入: 例子输出: 被AC的代码例如以下: import java.ut ...