杭电(hdu)ACM 4548 美素数
美素数
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 4482 Accepted Submission(s): 1524
问题是这种:一个十进制数。假设是素数,并且它的各位数字和也是素数,则称之为“美素数”,如29,本身是素数,并且2+9 = 11也是素数,所以它是美素数。
给定一个区间,你能计算出这个区间内有多少个美素数吗?
接下来共T行,每行输入两个整数L,R(1<= L <= R <= 1000000),表示区间的左值和右值。
每组数据占一行,详细输出格式參见例子。
3
1 100
2 2
3 19
Case #1: 14
Case #2: 1
Case #3: 4
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std; bool prime[1000001];
bool beauty[1000001];
int dp[1000001]; void findprime()
{
memset(prime,true,sizeof(prime));
memset(beauty,true,sizeof(beauty));
prime[0]=prime[1]=false;
beauty[0]=beauty[1]=false;
for(int i=2;i<=1000;i++) //素数筛选法核心代码区
{
for(int j=2*i;j<=1000000;j+=i)
{
prime[j]=false;
beauty[j]=false;
}
} //素数筛选法核心代码区
} void beautyprime()
{
int sum,k;
for(int i=2;i<=1000000;i++)
{
sum=0;k=i;
if(prime[i]==true)
{
while(k!=0)
{
sum+=k%10;
k/=10;
}
if(prime[sum]!=true)
{
beauty[i]=false;
}
}
}
} void DP() //动态规划思想,dp[i]即1到i素数的个数
{
memset(dp,0,sizeof(dp));
for(int i=1;i<=1000000;i++)
{
if(beauty[i]==true)
{
dp[i]=dp[i-1]+1;
}
else dp[i]=dp[i-1];
}
} int main()
{
int a,b,T,_count;
findprime();
beautyprime();
DP();
while(scanf("%d",&T)!=EOF)
{
_count=0;
while(T--)
{
_count++;
scanf("%d%d",&a,&b);
printf("Case #%d: %d\n",_count,dp[b]-dp[a-1]);
}
}
return 0;
}
杭电(hdu)ACM 4548 美素数的更多相关文章
- 杭电 HDU ACM 2795 Billboard(线段树伪装版)
Billboard Time Limit: 20000/8000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 杭电 HDU ACM Milk
Milk Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- 杭电 HDU ACM 1698 Just a Hook(线段树 区间更新 延迟标记)
欢迎"热爱编程"的高考少年--报考杭州电子科技大学计算机学院 Just a Hook Time Limit: 4000/2000 MS (Java/Others) Memor ...
- HDU 4548 美素数(打表)
HDU 4548 美素数(打表)解题报告 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=88159#problem/H 题目 ...
- HDU 4548 美素数 在线打表加数状数组
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4548 解题报告:一开始本想先打个素数表,然后每次输入L 跟R 的时候都进行暴力判断,但这题测试数据太多 ...
- HDU 4548 美素数
Description 小明对数的研究比较热爱,一谈到数,脑子里就涌现出好多数的问题,今天,小明想考考你对素数的认识. 问题是这样的:一个十进制数,如果是素数,而且它的各位数字和也是素数,则称之为“ ...
- HDU 4548(美素数)
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Description 小明对数的 ...
- HDU 4548 美素数 素数题解
本题就是能够直接打表的,推断能否够打表也须要技巧的: 1 推断最大的数值为1000000.百万下面的数打表都是能够的 2 能够线性预处理好.使用素数筛子法是能够接近线性预处理的. 故此能够打表了. 须 ...
- hdu 4548 美素数 超级大水题
美素数 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submis ...
随机推荐
- 使用Azure Docker容器注册表服务
1.登录你的Azure 容器注册表服务 az acr login --name ledesign 2.给你本地准备好的Image打上上云之前的版本标签 docker tag ledesign-serv ...
- CTF-Mayday
打开下载的Mayday.txt文件: 温柔 知足突然好想你 拥抱突然好想你 拥抱温柔 知足温柔 知足突然好想你 拥抱突然好想你 拥抱温柔 知足温柔 知足突然好想你 拥抱突然好想你 拥抱温柔 ...
- Python金融量化
Python股票数据分析 最近在学习基于python的股票数据分析,其中主要用到了tushare和seaborn.tushare是一款财经类数据接口包,国内的股票数据还是比较全的 官网地址:http: ...
- Ubuntu16.04系统下汉字显示为方框解决办法(图文详解)
不多说,直接上干货! 问题详情 问题分析 今天一打开Ubuntu系统,竟然不支持中文显示了.开始时以为是搜狗拼音的问题,然后重装了一遍fcitx,然后用重装了一遍搜狗输入法.可是重装后问题根本没有解决 ...
- asp.net 字符串过滤
/// <summary> /// 去除HTML标记 /// </summary> /// <param name="Htmlstring">包 ...
- ComboxBox控件、checklistbox控件和listbox控件的组合开发
第一步:先创建一个WinForm窗体应用程序,按照下图所示的进行布局. 第二步:为ComboxBox控件.checklistbox控件和listbox控件和button控件设置属性 第三步:在代码中的 ...
- Java 系列之spring学习--spring搭建(一)
一.新建maven项目 二.引入spring jar包 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xs ...
- GEF入门笔记
最近项目中需要用到Eclipse GEF框架进行画图,故将平时学习笔记更新到博客中,便于查阅 自己画的一个GEF基本结构 最基本流程 1.创建model(包括数据域.在界面中的布局.图片索引等 ...
- java 简单工厂模式实现
简单工厂模式:也可以叫做静态工厂方法,属于类创建型模式,根据不同的参数,返回不同的类实现. 主要包含了三个角色: A.抽象产品角色 一般用接口 或是 抽象类实现 B.具体的产品角色,具体的类的实现 C ...
- 命令模式 Command design pattern in C++
参考https://sourcemaking.com/design_patterns/command/cpp/2 Create a class that encapsulates some numbe ...