与丑数类似的质因子

#include<iostream>
using namespace std;
const long long p=1e5+5;
const long long q=1e18;
long long min(long long x,long long y,long long z)
{
    long long k1;
    k1=x<y?x:y;
    long long k=k1<z?k1:z;
    return k;
}
int main()
{
    long long x,y,z,a[p],i,n,h,s;
    cin>>n;
    x=1;
    y=1;
    z=1;
    i=1;
    a[1]=1;
    while(1)
    {
        s=min(a[x]*2,a[y]*3,a[z]*5);
        if(s==a[x]*2)
        x++;
        if(s==a[y]*3)
        y++;
        if(s==a[z]*5)
        z++;
        a[++i]=s;
        if(s>q)
        break;
    }
    for(int j=0;j<n;j++)
    {
        cin>>x;
        if(x==1)
        {
        cout<<"2"<<endl;
        continue;
        }
        h=lower_bound(a+1,a+i,x)-a;
        cout<<a[h]<<endl;
    }
}

猜你喜欢

转载自www.cnblogs.com/Leozi/p/10835576.html