hdu 4548(美素数)
2015-08-22 12:34
232 查看
Description
小明对数的研究比较热爱,一谈到数,脑子里就涌现出好多数的问题,今天,小明想考考你对素数的认识。 问题是这样的:一个十进制数,如果是素数,而且它的各位数字和也是素数,则称之为“美素数”,如29,本身是素数,而且2+9 = 11也是素数,所以它是美素数。 给定一个区间,你能计算出这个区间内有多少个美素数吗?
Input
第一行输入一个正整数T,表示总共有T组数据(T <= 10000)。 接下来共T行,每行输入两个整数L,R(1<= L <= R <= 1000000),表示区间的左值和右值。
Output
对于每组数据,先输出Case数,然后输出区间内美素数的个数(包括端点值L,R)。 每组数据占一行,具体输出格式参见样例。
Sample Input
3
1 100
2 2
3 19
Sample Output
Case #1: 14
Case #2: 1
Case #3: 4
题意:找出给点区间的所有美素数,如果用暴利枚举,一定能够会超时。见超时版本。只能用素数打表AC
代码实现:
小明对数的研究比较热爱,一谈到数,脑子里就涌现出好多数的问题,今天,小明想考考你对素数的认识。 问题是这样的:一个十进制数,如果是素数,而且它的各位数字和也是素数,则称之为“美素数”,如29,本身是素数,而且2+9 = 11也是素数,所以它是美素数。 给定一个区间,你能计算出这个区间内有多少个美素数吗?
Input
第一行输入一个正整数T,表示总共有T组数据(T <= 10000)。 接下来共T行,每行输入两个整数L,R(1<= L <= R <= 1000000),表示区间的左值和右值。
Output
对于每组数据,先输出Case数,然后输出区间内美素数的个数(包括端点值L,R)。 每组数据占一行,具体输出格式参见样例。
Sample Input
3
1 100
2 2
3 19
Sample Output
Case #1: 14
Case #2: 1
Case #3: 4
题意:找出给点区间的所有美素数,如果用暴利枚举,一定能够会超时。见超时版本。只能用素数打表AC
代码实现:
hdu 4548(美素数) #include<iostream> #include<cstdio> #include<cmath> using namespace std; bool IsPrime(int x) { for(int i = 2; i <= (int)sqrt(x); i++) { if((x % i) == 0) return false; } return true; } int solve(int n){ //计算出数字n各位数字的和 int sum=0; while(n){ sum+=n%10; n/=10; } return sum; } int main() { int t; int _case=1; cin>>t; while(t--) { int n,a,b; int ans=0;int count=0; cin>>a>>b; for(int i=a;i<=b;i++){ if(IsPrime(i)&&IsPrime(solve(i))) count++; } if(a==1) count--; cout<<"Case #"<<_case++<<": "<<count<<endl; } return 0; }
相关文章推荐
- [Unity]背包效果-使用NGUI实现物品的拖拽效果Drag
- python文件读写模式解析
- Ubuntu备份还原
- Buff系统设计
- bzoj 2208: [Jsoi2010]连通数
- Android之使用MediaMetadataRetriever类获取视频第一帧
- 第91讲:Akka第一个案例动手实战架构设计
- C++ 与 c# 模块 之间相互调用
- Pixhawk---fatal: Not a git repository (or any of the parent directories)
- API获得ip,JS获得IP地理信息
- iphone 模拟器键盘出不来的快捷键
- pat(B)1017. A除以B(java大数)
- /etc/passwd_详细解释
- java外观模式
- HDU 1222 Wolf and Rabbit
- tslib1.4的交叉编译
- 为什么整个互联网行业都缺前端工程师?(推荐好文)
- 辛星浅析plpgsql的语法(下)
- [LeetCode] N-Queens II
- jquery实现点击向下展开菜单项(伸缩导航)效果