HDU 4548 美素数
Description
Input
Output
Sample Input
Sample Output
#include <stdio.h>
#include <math.h>
#include <string.h>
int prime[],b[];
int N=;
//打素数表
void set_prime()
{
prime[]=; //这里是标记多余的一个数为1
prime[]=; //因为1不是素数所以要标记为1
for(int i=; i<=sqrt(N); i++)
{
if(!prime[i])
{
for(int j=i*i; j<N; j+=i) //这里表示i的倍数不是素数。(用j+j更加直观一些,用j*j更省时,但是为什么可以用j*j,我也一时没反应过来,毕竟是小白.. (⊙﹏⊙)b)
prime[j]=;
}
}
}
//打美素数的个数表..
void set_ansbiao()
{
int time=,k;
for(int i=; i<N; i++)
{
if(!prime[i]) //是素数
{
int sum=;
k=i;
while(k)
{
sum+=k%;
k=k/;
}
if(!prime[sum]) //它的和是素数...
time++; // 个数加1
}
b[i]=time; //个数用数组储存下来
}
} int main()
{
set_prime();
set_ansbiao();
int T,cas=;
scanf("%d",&T);
while(T--)
{
int L,R;
scanf("%d%d",&L,&R);
cas++;
printf("Case #%d: %d\n",cas,b[R]-b[L-]); // 输出个数....
}
return ;
}
HDU 4548 美素数的更多相关文章
- 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(美素数)
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 ...
- 杭电(hdu)ACM 4548 美素数
美素数 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submis ...
- hdoj 4548 美素数
美素数 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submiss ...
- hdoj 4548 美素数 【打表】
另类打表:将从1到n的满足美素数条件的数目赋值给prime[n],这样最后仅仅须要用prime[L]减去prime[R-1]就可以: 美素数 Time Limit: 3000/1000 MS (Jav ...
- 数学#素数筛法 HDU 4548&POJ 2689
找素数本来是很简单的问题,但当数据变大时,用朴素思想来找素数想必是会超时的,所以用素数筛法. 素数筛法 打表伪代码(用prime数组保存区间内的所有素数): void isPrime() vis[]数 ...
随机推荐
- Android(java)学习笔记81:java异常处理机制
1.try....catch/try...catch...finally package cn.itcast_02; /* * 我们自己如何处理异常呢? * A:try...catch...final ...
- [改善Java代码]警惕自增的陷阱
建议7: 警惕自增的陷阱 老师就说:自增有两种形式,分别是i++和++i,i++表示的是先赋值后加1,++i是先加1后赋值,这样理解了很多年也没出现问题,直到遇到如下代码,我才怀疑我的理解是不是错了: ...
- [改善Java代码]三元操作符的类型务必一致
建议三: 三元操作符是if-else的简化写法,在项目中使用它的地方很多,也非常好用,但是好用又简单的东西并不表示就可以随便用,我们来看看下面这段代码: public class Client { p ...
- ASP、JSP、PHP 三种技术比较
目前,最常用的三种动态网页语言有ASP(Active Server Pages),JSP(JavaServer Pages),PHP (Hypertext Preprocessor). 简 介 : A ...
- Linux 命令 - fg & bg: 将进程切换到前台(后台)运行
后台运行的进程不会受到任何键盘的影响,包括试图用来中断它的 Ctrl-C 键.想要使得进程返回到前台来运行,可以使用 fg 命令来实现. 可以通过在 fg 命令后面加上百分比符号和作业编号(称为 jo ...
- android opencv 人脸检测
转载自http://blog.csdn.net/jesse__zhong/article/details/24889709 .......省略包 public class Staticdetectio ...
- Annotation注解与butterknife
注解分为三种,一般来讲我们使用的是运行时会加载及能够反射读取的注解类型, 其他编译器生效的类型和编译后放入类文件而运行期不能加载解析的对我们没啥用. 所以从普通理解上来看,注解要配合着反射用就好了. ...
- Activity Launch Mode
launcherMode Activity如何被启动呢?Intent对象中与Activity启动相关的标志(FLAG_ACTIVITY_*)有四个.它们分别是: "standard" ...
- SwithAndActivity 选择开关和活动指示
//// ViewController.m// SwithAndActivity//// Created by qianfeng on 15/9/21.// Copyright (c) 201 ...
- block回调具体例子
//main.m //// main.m// 回调//// Created by hehe on 15/9/10.// Copyright (c) 2015年 wang.hehe. All r ...