题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1010

题意:中文题诶~

思路:求第一个比 x (1<=x<=1e18)大或者等于的数y, 且y的因子只有2, 3, 5,即y=pow(2, i)*pow(3, j)*pow(5, k);

那么显然我们可以通过枚举i, j, k求出所有由2, 3, 5因子构成的数,并将其存入数组中,再二分查找数组中第一个大于等于x的数即为答案;

代码:

 #include <bits/stdc++.h>
#define ll long long
#define MAXN 100000
using namespace std; ll a[MAXN];
const ll inf=1e18; ll get_pow(ll x, int n){
ll ans=;
while(n){
if(n&){
ans*=x;
}
x*=x;
n>>=;
}
return ans;
} void geloutingyu(void){ //**注意不能直接用pow(),会有精度问题
int pos=;
for(ll i=; get_pow(, i)<=inf; i++){
for(ll j=; get_pow(, i)*get_pow(, j)<=inf; j++){
for(ll k=; get_pow(, i)*get_pow(, j)*get_pow(, k)<=inf; k++){
a[pos++]=get_pow(, i)*get_pow(, j)*get_pow(, k);
}
}
}
} int main(void){
int t;
ll x;
geloutingyu();
sort(a, a+MAXN);
cin >> t;
while(t--){
cin >> x;
if(x==){
cout << << endl;
continue;
}
int pos=lower_bound(a, a+MAXN, x)-a;
cout << a[pos] << endl;
}
return ;
}

最新文章

  1. MySQL性能优化:索引
  2. 关于ie11 的开发者工具
  3. Linux之Shell的算术运算
  4. stty命令使用
  5. [转]编译VC++程序warning C4819快速解决
  6. SourceTree - 好用的 Git / Mercurial GUI 管理工具 for Mac OS X
  7. linux 安装软件的地方
  8. 24、Javascript BOM
  9. ASP.NET MVC应用程序更新相关数据
  10. spring容器启动的加载过程(一)
  11. 关于MongoDB安全事件的一些思考
  12. Linux视频主要概述
  13. myeclipse的debug模式启动不了,但run模式可以启动
  14. 最近学习的 Node.js 数组_函数
  15. logging模块初识
  16. iOS 10.3下解决Fiddler代理抓包ssl证书信任问题
  17. IBus prior to 15.11 may cause input problems. See IDEA-78860 for details.
  18. iperf测试网络带宽
  19. 【WIN10】Segoe MDL2 Assets
  20. hdu 5821 Ball 贪心

热门文章

  1. ashx页面缓存
  2. python中的生成器(generator)总结
  3. 属性成员是isXxx时对应的get方式是isXxx,前台jsp取不到这个属性值
  4. python之路-进程
  5. ACM学习历程—HDU 5534 Partial Tree(动态规划)
  6. [转]SCSS 和 SASS 和 HAML 和CoffeeScript
  7. for循环及break和continue的区别
  8. C语言入门题
  9. JOptionPane简介
  10. sell01 环境搭建、编写持久层并进行测试