51nod:1010 只包含因子2 3 5的数

网友投稿 283 2022-08-30

51nod:1010 只包含因子2 3 5的数

K的因子中只包含2 3 5。满足条件的前10个数是:2,3,4,5,6,8,9,10,12,15。

所有这样的K组成了一个序列S,现在给出一个数n,求S中 >= 给定数的最小的数。

例如:n = 13,S中 >= 13的最小的数是15,所以输出15。

Input

第1行:一个数T,表示后面用作输入测试的数的数量。(1 <= T <= 10000) 第2 - T + 1行:每行1个数N(1 <= N <= 10^18)

Output

共T行,每行1个数,输出>= n的最小的只包含因子2 3 5的数。

Input示例

5 1 8 13 35 77

Output示例

2 8 15 36 80

只包含因子2 3 5的数,没记错的话就是丑数咯!

先对范围内的这种数打表,然后利用二分法查找。

AC代码:

#include #includeusing namespace std;#define maxx 1e18+1005__int64 a[110000];void init(__int64 &num){ num=1; for(__int64 i=1; i=k)right=mid; else left=mid+1; } return a[right];}int main(){ __int64 n,m; init(m); cin>>n; while(n--) { __int64 k; cin>>k; cout<

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:[HNOI2002]营业额统计(splay)
下一篇:王欣瑜挑落新科美网冠军,即时排名首进前100位!(最新美网冠军)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~