qingdao

1001

 

#include <bits/stdc++.h>

using namespace std;
vector<long long> v;
long long pow2(long long a, int b)
{
    long long ans = 1;
    for(int i = 1; i <= b; ++i)
        ans *= a;
    return ans;
}
void init()
{
    for(int a = 0; a <= 31; ++a)
    {
        for(int b = 0; b <= 18; ++b)
        {
            for(int c = 0; c <= 12; c++)
            {
                for(int d = 0; d <= 10; d++)
                {
                    long double sb= (long double)pow2(2, a)*(long double)pow2(3, b)*(long double)pow2(5, c)*(long double)pow2(7, d);
                    long long t = pow2(2, a)*pow2(3, b)*pow2(5, c)*pow2(7, d);
                    if(sb<0 || sb>1000000000 ||t<0 || t>1000000000) break;
                    //printf("!");
                    v.push_back(t);
                }
            }
        }
    }
    sort(v.begin(), v.end());
    //for(int i = 0; i < v.size(); ++i)cout << v[i] << endl;
}
int lb(int x, int y, int k)
{
    int m;
    while(x < y)
    {
        m = x+(y-x+1)/2;
        if(v[m] <= k) x = m;
        else y = m-1;
    }
    return x;
}
int main()
{
    int o, p;
    //cout << pow2(2,10);
    init();
    int n,t;
    scanf("%d",&t);
    while(t--)
    {
        int i;
        scanf("%d",&n);
        int lo = 0,hi = v.size(),mid;
        //int ans = lb(lo, hi, n);
        /*while(lo<hi)
        {
            mid = (lo+hi)>>1;
            if(v[mid]<=n) lo = mid;
            else hi = mid-1;
        }*/
        int ans = lower_bound( v.begin(), v.end(), (long long)n)-v.begin();
        printf("%d\n",v[ans]);
    }
    return 0;
}

 

1002

#include <bits/stdc++.h>
using namespace std;
double a[200000+5];
char str[100000];
void init()
{
    for(int i = 1; i <= 200000; ++i)
    {
        double t = (double)i*(double)i;
        a[i] = a[i-1]+1.0/t;
    }
}
int trans(char* str)
{
    int ans = 0;
    int len = strlen(str);
    for(int i = 0; i < len; ++i)
    {
        ans += (str[i]-'0');
        ans *= 10;
    }
    return ans/10;
}
int main()
{
    init();
    long long n;
    //cout << trans("123100023") << endl;
    //for(int i = 1; i < 10; ++i)cout << a[i] << endl;

    while(~scanf("%s", str))
    {
        int len = strlen(str);
        n =trans(str);
        if(len>6)
        {
            printf("1.64493\n");
        }
        else if(n >= 200000)
            printf("1.64493\n");
        else
        {
            printf("%.5lf\n", a[n]);
        }
    }
    return 0;
}

 

1005

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int t,n;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&n);
        if(n%2) printf("Balanced\n");
        else printf("Bad\n");
    }
    return 0;
}

 

posted @ 2016-09-18 16:53  qlky  阅读(268)  评论(0编辑  收藏  举报