本题就是能够直接打表的,推断能否够打表也须要技巧的:

1 推断最大的数值为1000000。百万下面的数打表都是能够的

2 能够线性预处理好。使用素数筛子法是能够接近线性预处理的。

故此能够打表了。

须要熟悉的基本知识点:

1 素数筛子法 - 一两分钟之内写出代码

2 一般素数推断法,由于位数相加之后的数值很小,故此一般素数推断就能够了,假设写个primality test 算法会大材小用了。

3 然后是带点动态规划法的思想把前面的美素数叠加起来,方便查找。

算是基础题目了,也是有人说的水题,我还是喜欢叫基础题吧。

难在于推断好,并运用好这些基础知识。简单优雅地解决,写出代码。

#include <stdio.h>
#include <string.h> const int MAX_N = 1000001;
bool isPrime(int n)
{
if (n == 2) return true;
for (int r = 2; r * r <= n; r++)
{
if (n % r == 0) return false;
}
return true;
} bool isMeiPrime(int n)
{
int d = 0;
while (n)
{
d += n % 10;
n /= 10;
}
return isPrime(d);
} int primeNums[MAX_N];
bool primes[MAX_N]; void seive()
{
memset(primes, 0, MAX_N * sizeof(bool));
for (int i = 2; i < MAX_N; i++)
{
if (!primes[i])
{
for (int j = i << 1; j < MAX_N; j += i)
{
primes[j] = true;
}
}
} primeNums[0] = 0, primeNums[1] = 0;
for (int i = 2; i < MAX_N; i++)
{
if (!primes[i] && isMeiPrime(i)) primeNums[i] = primeNums[i-1] + 1;
else primeNums[i] = primeNums[i-1];
}
} int main()
{
seive();
int T, a, b;
scanf("%d", &T);
for (int t = 1; t <= T; t++)
{
scanf("%d %d", &a, &b);
printf("Case #%d: %d\n", t, primeNums[b] - primeNums[a-1]);
}
return 0;
}

最新文章

  1. SVN服务器搭建
  2. angularJs模块ui-router之路由控制
  3. 跨平台日志清理工具 Log-Cutter v2.0.1 RC-1 发布
  4. Android5.0如何正确启用isLoggable(二) 理分析
  5. 深入理解HTTP协议、HTTP协议原理分析
  6. javascript:void(0)与#整理
  7. springmvc框架原理分析
  8. 项目上传svn出问题
  9. Inno Setup入门(八)&mdash;&mdash;有选择性的安装文件
  10. Left/Right/Inner Join用法和区别
  11. [Swift]LeetCode372. 超级次方 | Super Pow
  12. 【c#】RabbitMQ学习文档(四)Routing(路由)
  13. pandas进行条件格式化以及线性回归的预测
  14. python简单的监控脚本-利用socket、psutil阻止远程主机运行特定程序
  15. PostgreSQL 创建触发器 Trigger
  16. SAP Tax Service可以取代TAXBRA / RVABRA吗?(翻译) 跨国贸易云税务解决方案
  17. HTML5的placeHolder在IE9下workaround引发的Bug(按下葫芦起了瓢)
  18. Linux学习笔记(Ubuntu操作系统)之hadoop学习之路
  19. python记录_day019 类的约束 异常处理 日志
  20. 3dsmax导入点云数据

热门文章

  1. hdu 4461 第37届ACM/ICPC杭州赛区I题
  2. Xtreme8.0 - Kabloom dp
  3. java之ibatis数据缓存
  4. 使用GIT进行源码管理——GIT托管服务2018
  5. .Net Discovery 系列之五--深入浅出.Net实时编译机制(上)
  6. 在ASP.NET MVC下有关上传图片脏数据的解决方案
  7. springcloud 分布式服务跟踪sleuth+zipkin
  8. Java 遍历类中的属性
  9. 异步图片下载引擎(升级版——ExecutorService+handler)
  10. Android 用户登录界面