XTU OJ 1279 Dual Prime
Dual Prime
题目描述
如果一个合数x=p⋅q,p,q是素数且p≠q,我们称x是双素数。 现给你一个区间[a,b],求区间内的的双素数个数。
输入
第一行是一个整数T(1≤T≤30000),为样例的数目。 以后每行一个样例,为两个整数a,b(1≤a≤b≤106)
输出
依次每行输出一个样例的结果。
样例输入
3 1 10 1 100 1 1000000
样例输出
2 30 209867
解题思路:你不是输入两个数a1,b1确定一个区间嘛,所以我就想能不能确定1~a-1这个区间有多少个双素数,1~b这个区间有多少个双素数,最后满足题意的答案即为b[b1]-b[a1-1].
#include<stdio.h>
int a[1000005];//素数
int b[1000005];//dual素数
int main()
{int i,j;a[0]=1,a[1]=1;for(i=2;i*i<=1000000;i++)//筛{if(a[i]==0){ for(j=2;j*i<=1000000;j++){a[i*j]=1;}}}a[1]=0;for(i=2;i*i<=1000000;i++){if(!a[i])//素数之前标记为 0 了,即如果 i 是素数 {for(j=i+1;i*j<=1000000;j++)// j=i+1 是为了防止 i=j {b[j*i]=(!a[j]);//这里太妙了,不必再通过循环将之前的素数标记为 1 }//用a[j]来判断 j 是不是素数,太妙啦! } }
// for(i=2;i<=1000000;i++)
// {
// if(a[i]==1)//将合数记为 0
// {
// a[i]=0;
// }
// else
// {
// a[i]=1;
// }
// }
// int sum=0;
// for(i=1;i<=1000000;i++)
// {
// sum+=a[i];
// b[i]=sum;
// } //printf("%d\n",b[100]);for(i=2;i<=1000000;i++){b[i]+=b[i-1];//这里就开始计算每一个端点到 1 区间内的双素数个数了}int K,a1,b1,n;scanf("%d",&K);while(K--){scanf("%d %d",&a1,&b1);n=b[b1]-b[a1-1]; //这一步处理很巧妙 printf("%d\n",n);}
}
XTU OJ 1279 Dual Prime相关推荐
- XTU online judge 1279 Dual Prime
Description 如果一个合数x=p⋅q,p,q是素数且p≠q ,我们称x是双素数. 现给你一个区间[a,b] ,求区间内的的双素数个数. Input 第一行是一个整数T(1≤T≤30000) ...
- XTU OJ 1355 Euler‘s Totient Function(欧拉函数)
XTU OJ 1355 Euler's Totient Function(欧拉函数) 题目描述 对于整数n,定义ϕ(n)ϕ(n)ϕ(n)为小于或等于n,并与n互质的整数的个数,比如6,比它小的和它互质 ...
- XTU OJ 1324 Hash
XTU OJ 1324 Hash Hash 题目描述 H a s h Hash Hash是一种很常用的数据结构,Hash技术的关键在于Hash函数的选取. 一种常用整数的 H a s h Hash H ...
- XTU OJ 1375 Fibonacci
XTU OJ 1375 Fibonacci 题目描述 小明非常喜欢FibonacciFibonacciFibonacci数列,数列为 f1=1,f2=2,fn=fn−1+fn−2f_1=1,f_2=2 ...
- 质因数分解唯一定理(XTU OJ)
今年的oj 很有几道题用到了,这里介绍一下 质因数分解(唯一分解定理) 基本概念: 每个合数都可以写成几个质数相乘的形式,其中每个质数都是这个合数的因数,叫做这个合数的分解质因数. 分解质因数只针对合 ...
- XTU Oj 128
Rotate 题目描述 一个4×4的矩阵,我们可以把矩阵看成内外两圈,我们可以把外圈按顺时钟或者逆时钟转动,每次转动90度. 我们想得到一个2×2的子矩阵,使得这个子矩阵4个元素的累加和最大.请问最大 ...
- XTU OJ 1359 字符频度
淦啊,好久不写memset都忘记怎么写了,调了半天QAQ #include<stdio.h> #include<string.h> char a[1005]; int alp[ ...
- xtu oj 1375斐波纳契
题目描述 小明非常喜欢斐波纳契数列,数列为f1=1,f2=2,fn=fn−1+fn−2.小明想知道对于一个整数n,使得n=fi+fj+fk的组合有多少种?比如5=1+1+3或者5=1+2+2,有2种. ...
- XTU—OJ 1258矩阵
矩阵 题目描述 编写一个程序,将1~n2按行依次填入n×n的矩阵,执行若干条行或者列的循环移动的指令,再将数字按行依次取出. 指令如下: 指令 含义 L x y x行循环左移y次 R x y x行循环 ...
最新文章
- XSS的原理分析与解剖
- 在Ubuntu虚拟机中安装VMware tools异常中断
- 6.SQL Server Sql语句
- SAP实施不成功就像女人丰乳没效果
- 改变层级_3DMAX基础,可编辑多边形层级介绍及概念
- js实现拖拽+碰撞+重力
- 前端学习(3062):vue+element今日头条管理-总页码处理
- 选中内容_Excel – 选中的单元格自动显示在A1,报表演示数据再多也能看清
- oauth2 java 获取token_OAuth2 Token 一定要放在请求头中吗?
- 光学字符识别OCR-6 光学识别
- 终端用sublime打开文件的方法
- 进销存excel_不用再花钱买软件做进销存,这份免费的Excel系统送你,财务收
- 自己制作的4X4光立方焊接时候出现的问题
- Navicat for Mysql永久激活方法
- 加拿大计算机科学薪酬,加拿大最好找工作及薪酬最高的十大专业介绍
- sin75度用计算机咋算,sin75度等于多少啊?需要用到三角函数公式
- 714. 买卖股票的最佳时机含手续费
- signature=5a522a8356f9906b0b775bdada02a4c6,合肥2016年4月29日至2016年5月12日交通违章查询...
- Python+Vue计算机毕业设计教师教学质量评价管理2lbw7(程序+LW+源码+部署)
- uni-app -- 小程序分享遇到的问题
热门文章
- SQL多表联合查询(交叉连接,内连接,外连接)
- ecmall mysql.php_ECMall支持SSL连接邮件服务器的配置方法详解
- 打卡日历html源码,经典模式打卡日历_闯关模式打课时列表.html
- tp6验证码点击刷新
- 主键与外键以及唯一键的选择的依据——情况之一
- Asterisk 开启日志,记录SIP信令
- 大数据离线阶段Day1之大数据时代
- 2020年系统集成项目管理工程师考试目标及要求
- 嵌入式学习ARM篇------系统移植1
- 未来计算机的硬件配置,2017顶级发烧配置 万元i7-7700K/GTX1080Ti顶级电脑配置方案推荐...