只包含因子2 3 5的数 (思维和二分)
Input
-
第1行:一个数T,表示后面用作输入测试的数的数量。(1 <= T <= 10000)
第2 - T + 1行:每行1个数N(1 <= N <= 10^18) - Output
- 共T行,每行1个数,输出>= n的最小的只包含因子2 3 5的数。
- Sample Input
-
5 1 8 13 35 77
- Sample Output
-
2 8 15 36 80
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
using namespace std;
typedef long long ll;
const ll maxn=1e18+1000;
ll digit[100000],n;
int ans=0;
void init()
{ll i, j, k;for(i=1;i<maxn;i=i*2){for(j=1;j*i<maxn;j=j*3){for(k=1;i*j*k<maxn;k=k*5)digit[ans++]=i*j*k;//忽略了一个问题digit[0]是1啊 }}
}
int find()
{int left=1,right=ans;while(left<right){int mid=(left+right)/2;if(digit[mid]<n)left=mid+1;else if(digit[mid]>=n)right=mid;}return right;
}int main()
{init();sort(digit,digit+ans);ll t;cin>>t;while(t--){cin>>n;printf("%lld\n",digit[find()]);}return 0;
}
如果用lower_bound(digit+1,digit+ans,n);
只包含因子2 3 5的数 (思维和二分)相关推荐
- 只包含因子2 3 5的数(51nod 思维 打表)
K的因子中只包含2 3 5.满足条件的前10个数是:2,3,4,5,6,8,9,10,12,15. 所有这样的K组成了一个序列S,现在给出一个数n,求S中 >= 给定数的最小的数. 例如:n = ...
- 【51Nod - 1010 】只包含因子2 3 5的数 (打表,有坑越界)
题干: K的因子中只包含2 3 5.满足条件的前10个数是:2,3,4,5,6,8,9,10,12,15. 所有这样的K组成了一个序列S,现在给出一个数n,求S中 >= 给定数的最小的数. 例如 ...
- 只包含因子 2 3 5 的数(51Nod-1010)
题目 K的因子中只包含2 3 5.满足条件的前10个数是:2,3,4,5,6,8,9,10,12,15. 所有这样的K组成了一个序列S,现在给出一个数n,求S中 >= 给定数的最小的数. 例如: ...
- 51Nod-1010 只包含因子2 3 5的数【打表+排序+二分搜索】
1010 只包含因子2 3 5的数 基准时间限制:1秒 空间限制:131072KB 分值:10难度:2级算法题 收藏 关注 K的因子中只包含2 3 5.满足条件的前10个数是:2,3,4,5,6,8, ...
- 剑指offer:把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。
问题:把只包含质因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因为它包含质因子7. 习惯上我们把1当做是第一个丑数.求按从小到大的顺序的第N个丑数. 通俗易懂的 ...
- 蓝桥杯真题 18省Ca4-第几个幸运数 问题描述 到x星球旅行的游客都被发给一个整数,作为游客编号。 x星的国王有个怪癖,他只喜欢数字3,5和7。 国王规定,游客的编号如果只含有因子:3,5,
问题描述 到x星球旅行的游客都被发给一个整数,作为游客编号. x星的国王有个怪癖,他只喜欢数字3,5和7. 国王规定,游客的编号如果只含有因子:3,5,7,就可以获得一份奖品. 我们来看前10个幸运数 ...
- C语言试题五十七之假定输入的字符串中只包含字母和*号。请编写函数function,它的功能是:删除字符串中所有*号。在编写函数时,不得使用c语言提供的字符串函数。
1. 题目 假定输入的字符串中只包含字母和*号.请编写函数function,它的功能是:删除字符串中所有*号.在编写函数时,不得使用c语言提供的字符串函数. 2 .温馨提示 C语言试题汇总里可用于计算 ...
- C语言试题四十二之假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部移到字符串的尾部。
1. 题目 请编写一个函数function,它的功能是:假定输入的字符串中只包含字母和*号,它的功能是:将字符串中的前导*号全部移到字符串的尾部. 2 .温馨提示 C语言试题汇总里可用于计算机二级C语 ...
- 找出只包含1的最大矩形c语言,一些简单的编程练习题
转载自 http://blog.jobbole.com/53039/ 每当成为入门CS课程(学生们学习编程语言的课程)的助教时,都困于提出好的练习题.Project Euler和类似的问题通常对初学者 ...
- 连续字母长度 给定一个字符串 只包含大写字母
注意!答案仅作为参考(实际考试中下列代码通过用例100%,但不代表最优解) 给定一个字符串 只包含大写字母 求在包含同一字母的子串中 长度第K长的子串 相同字母只取最长的子串 输入第一行 一个子串 1 ...
最新文章
- php后台如何连接网口打印机_如何设置斑马网络打印机的网卡IP地址
- 深入V8引擎-AST(2)
- android 渲染流程
- vim 命令_Vim 操作命令手册
- LeetCode--81. 搜索旋转排序数组Ⅱ(遍历法,二分法)
- GTK+图形化应用程序开发学习笔记(四)—容器、构件
- 调用webservice超时问题的解决(转载)
- 单网卡同时上内外网_Win10双网卡上网冲突(内网、外网)
- 大家来找茬源码(微擎) -- 流量主
- kru生成树变种 poj3522 bzoj 1196
- linux mint 下载迅雷安装包,Linux Mint如何安装“微信、QQ、迅雷、WPS办公软件”等国内上瘾软件...
- 端到端测试(e2e测试)
- 【其他】【RQNOJ】同分异构体
- 利用定时器实现PWM波对Zigbee(CC2530)上LED亮度进行强弱调整
- 为什么我学51单片机很顺利,学STM32却一头雾水?
- 【OpenGL 学习笔记03】点画多边形
- 2022第一位华为“天才少年”!绩点1.8逆袭!
- 破解XXX游戏驱动保护过程总结
- 工作室软路由该用哪个系统?
- 吃一堑长一智!java环境变量配置失败了怎么办