小明对数的研究比较热爱,一谈到数,脑子里就涌现出好多数的问题,今天,小明想考考你对素数的认识。 

  问题是这样的:一个十进制数,如果是素数,而且它的各位数字和也是素数,则称之为“美素数”,如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

题解:欧拉筛相当于对素数进行了打表,但是这样求的话还是会超时,我们就需要多美素数打个表,相当于打了两次表

这样就减少了很多重复计算。

代码:

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define n 1000005 using namespace std; int prime[1000005];
bool vis[1000005];
int sum1[1000005];
void oula() { int cnt=0;
memset(prime,0,sizeof(prime));
memset(vis,false,sizeof(vis));
for(int t=2; t<=n; t++) {
if(!vis[t])
prime[cnt++]=t;
for(int j=0; j<cnt&&t*prime[j]<=n; j++) {
vis[t*prime[j]]=true;
if(t%prime[j]==0)
break;
}
}
} void beautfulprime() {
sum1[0]=0;
sum1[1]=0;
for(int j=2; j<1000005; j++) {
sum1[j]=sum1[j-1];
long long int sum=0;
int k=j;
while(k) {
sum+=k%10;
k/=10;
}
if(vis[j]==false&&j!=1&&vis[sum]==false) {
sum1[j]++;
} }
}
int main() { int m;
cin>>m;
oula();
summ();
int a,b;
for(int t=0; t<m; t++) {
scanf("%d%d",&a,&b);
long long int s=0;
printf("Case #%d: %lld\n",t+1,sum1[b]-sum1[a-1]);
}
return 0;
}

最新文章

  1. FreeRTOS任务栈
  2. 调试SQLSERVER (一)生成dump文件的方法
  3. CSS 魔法系列:纯 CSS 绘制各种图形《系列六》
  4. Reporting Service报表项默认可见+号和-号的显示问题
  5. VBS_For Each...Next
  6. Jrtplib
  7. Asp.Net Mvc MapRoute .html不起作用(转)
  8. 用GDB调试多进程程序
  9. 用ssh建立机器之间的信任机制
  10. cocos2d-x游戏开发系列教程-坦克大战游戏之坦克的显示
  11. 出位的template.js 基于jquery的模板渲染插件
  12. 线性表的链式存储结构的实现及其应用(C/C++实现)
  13. 怎么让Word形状里的文字上下左右居中
  14. PHP中判断变量是否存在的方式
  15. 修改之前某次commit日志和内容
  16. bootstrap 折叠collapse失效
  17. java LinkedList(链表)
  18. 上机题目(0基础)- 用数组实现记事本(Java)
  19. Python访问MongoDB数据库
  20. 实现锁死的有滚动条的div的表格(datagird)

热门文章

  1. jersey简单总结与demo
  2. MySQL---&gt;数据库的简介和安装
  3. Spring JdbcTemplate中关于RowMapper的使用实例
  4. 详解GaussDB(for MySQL)服务:复制策略与可用性分析
  5. Docker 启动 Nginx
  6. Vue组件通信之子传父
  7. [leetcode/lintcode 题解] 前序遍历和中序遍历树构造二叉树
  8. Ambiguous mapping. Cannot map &#39;xxxController&#39; method
  9. C#开发笔记之07-如何实现交换2个变量的值而不引入中间变量?
  10. pygame绘制背景