博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 5878 I Count Two Three
阅读量:6441 次
发布时间:2019-06-23

本文共 1134 字,大约阅读时间需要 3 分钟。

打表,二分。

满足条件的数字个数不多,可以全部找出来,排个序,每次询问的时候二分一下。

#pragma comment(linker, "/STACK:1024000000,1024000000")#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;typedef long long LL;const double pi=acos(-1.0),eps=1e-6;void File(){ freopen("D:\\in.txt","r",stdin); freopen("D:\\out.txt","w",stdout);}template
inline void read(T &x){ char c=getchar(); x=0; while(!isdigit(c)) c=getchar(); while(isdigit(c)) {x=x*10+c-'0'; c=getchar();}}const int maxn=100010;LL M=2e9;LL p[maxn];int sz=0;int main(){ LL a=1; for(int i=0;;i++) { if(i!=0) a=a*2; if(a>M) break; LL b=1; for(int j=0;;j++) { if(j!=0) b=b*3; if(b>M||a*b>M) break; LL c=1; for(int s=0;;s++) { if(s!=0) c=c*5; if(c>M||a*b*c>M) break; LL d=1; for(int k=0;;k++) { if(k!=0) d=d*7; if(d>M||a*b*c*d>M) break; p[sz++]=a*b*c*d; } } } } sort(p,p+sz); int T; scanf("%d",&T); while(T--) { LL n; scanf("%lld",&n); int L=0,R=sz-1,pos; while(L<=R) { int m=(L+R)/2; if(p[m]

 

转载于:https://www.cnblogs.com/zufezzt/p/5887011.html

你可能感兴趣的文章
深度解析利用ES6进行Promise封装总结
查看>>
css的content属性
查看>>
熬过了互联网“寒冬”,接下来的金三银四你该怎么面试进BAT?
查看>>
Java 开源库精选(持续更新)
查看>>
Scrum联盟发布2015年Scrum状况报告
查看>>
在 Ubuntu 16.04 LTS 上安装 Python 3.6.0
查看>>
CloudCare容器技术白皮书
查看>>
苦酒入喉心作痛,红酒入鹅鹅想哭——震惊!勒索病毒想哭靠wine感染了Ubuntu16.04 ...
查看>>
Kubernetes Nginx Ingress Controller源码分析
查看>>
Linux下区分物理CPU、逻辑CPU和CPU核数
查看>>
第二十一章:变换(三)
查看>>
同步异步阻塞非阻塞杂记
查看>>
2018年中国银行业十件大事,“Fintech深度融合,科技子公司遍地” ...
查看>>
Git SSH 连接phacility服务器
查看>>
【客户案例】智能驾驶行业如何上云?
查看>>
foreman源NO_PUBKEY 6F8600B9563278F6
查看>>
揭秘:蚂蚁金服bPaaS究竟是什么?
查看>>
mongo数据库单节点搭建
查看>>
WPF模糊和阴影效果
查看>>
增加关系型数据库驱动配置同步任务
查看>>