I Count Two Three

Posted zzctommy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了I Count Two Three相关的知识,希望对你有一定的参考价值。

I Count Two Three

可以预处理出所有的满足题目并且比1e9小的的数,不会很多。排个序。询问的时候二分查找就好了

#include<bits/stdc++.h>
using namespace std;
#define int long long
int T,x,tot,a[10000007];
const int MAXN=1e9;
void init() {
    int p2=1,p3=1,p5=1,p7=1;
    for(int i=0;i<=30;++i) {
        p3=1;
        for(int j=0;j<=30;++j) {
            if(p2*p3>MAXN)break;
            p5=1;
            for(int k=0;k<=30;++k) {
                if(p2*p3*p5>MAXN)break;
                p7=1;
                for(int l=0;l<=30;++l) {
                    if(p2*p3*p5*p7>MAXN)break;
                    a[++tot]=p2*p3*p5*p7;
                    //cout<<a[tot]<<endl;
                    p7*=7;
                }
                p5*=5;
            }
            p3*=3;
        }
        p2*=2;
        if(p2>MAXN)break;
    }
    sort(a+1,a+tot+1);
}
signed main() {
    init();
    scanf("%lld",&T);
    while(T--) {
        scanf("%lld",&x);
        printf("%lld
",a[lower_bound(a+1,a+tot+1,x)-a]);
    }
    return 0;
} 

以上是关于I Count Two Three的主要内容,如果未能解决你的问题,请参考以下文章

HDU 5878 I Count Two Three

2016青岛网络赛 I Count Two Three(打表+二分)

HDU 5878 I Count Two Three

hdu5878 I Count Two Three(二分+ 打表)

[HDOJ5878]I Count Two Three(暴力枚举,二分)

2016 ACM/ICPC Asia Regional Qingdao Online 1001 I Count Two Three