hdu 5878 I Count Two Three (2016 ACM/ICPC Asia Regional Qingdao Online 1001)
Posted shuoed
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu 5878 I Count Two Three (2016 ACM/ICPC Asia Regional Qingdao Online 1001)相关的知识,希望对你有一定的参考价值。
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5878
题目大意:
给出一个数n ,求一个数X, X>=n. X 满足一个条件 X= 2^a*3^b*5^c*7^d 求靠近n的X值。
解题思路:
打表+二分查找
【切记用 cin cout,都是泪。。。】
AC Code:
1 #include<bits/stdc++.h> 2 using namespace std; 3 long long na[100002]; 4 5 int main() 6 { 7 int s=0; 8 long long ans,n,x; 9 for(int i=0; i<=31; i++) 10 for(int j=0; j<=19; j++) 11 for(int k=0; k<=12; k++) 12 for(int z=0; z<=11; z++) 13 if( (ans=pow(2,i)*pow(3,j)*pow(5,k)*pow(7,z))>=1e9+1 )break; 14 else na[s++]=ans; 15 sort(na,na+s); 16 while(~scanf("%lld",&n)) 17 { 18 while(n--) 19 { 20 scanf("%lld",&x); 21 printf("%lld\n",*lower_bound(na,na+s,x)); 22 } 23 } 24 return 0; 25 }
以上是关于hdu 5878 I Count Two Three (2016 ACM/ICPC Asia Regional Qingdao Online 1001)的主要内容,如果未能解决你的问题,请参考以下文章
hdu5878 I Count Two Three(二分+ 打表)
HDU 5878 I Count Two Three (打表+二分查找) -2016 ICPC 青岛赛区网络赛
hdu 5878 I Count Two Three (2016 ACM/ICPC Asia Regional Qingdao Online 1001)
[HDOJ5878]I Count Two Three(暴力枚举,二分)
2016 ACM/ICPC Asia Regional Qingdao Online1001 &&hdoj 5878 I Count Two Three