欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【51nod】1010 只包含因子2 3 5的数(数学)

程序员文章站 2024-03-17 15:47:40
...

http://www.51nod.com/Challenge/Problem.html#problemId=1010

打表+二分

#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
const ll maxn=1e18+2;
ll a[1000000];
ll cnt=0;
void init()
{
    for(ll i=1;i<=maxn;i*=2)
    {
        for(ll j=1;j*i<=maxn;j*=3)
        {
            for(ll k=1;k*i*j<=maxn;k*=5)
            {
                a[cnt++]=i*j*k;
            }
        }
    }
    sort(a+1,a+1+cnt);
}
int main()
{
    init();
    int T;
    ll x;
    cin>>T;
    while(T--)
    {
        cin>>x;
        cout<<*lower_bound(a+1,a+1+cnt,x)<<endl;
    }
}