2010:

#include <cstdio>

using namespace std;

bool check(int num)
{
    int sum = 0;
    int x = num;
    while(x)
    {
        int tmp = x%10;
        sum += tmp * tmp * tmp;
        x /= 10;
    }
    if(sum == num)
        return true;
    return false;
}
int a[100];
int main()
{
    int m, n;
    int ans = 0;
    while(scanf("%d %d", &m, &n) != EOF)
    {
        ans = 0;
        for(int i=m; i<=n; i++)
        {
            if(check(i))
            {
                a[ans++] = i;
            }
        }
        if(ans == 0)
            printf("no\n");
        else
        {
            for(int i=0; i<ans-1; i++)
            {
                printf("%d ", a[i]);
            }
            printf("%d\n", a[ans-1]);
        }
        
        
    }



    return 0;
}

2011:

#include <cstdio>

using namespace std;

int main()
{
    int m;
    scanf("%d", &m);
    while(m--)
    {
        int n;
        scanf("%d", &n);
        double sum = 0;
        int flag = 1;
        for(int i=1; i<=n; i++)
        {
            sum += 1.0 * flag / i;
            flag = -flag;
        }
        printf("%.2lf\n", sum);
    }


    return 0;
}

2012:

#include <cstdio>
#include <math.h>
using namespace std;

bool isprime(int num)
{
    if(num <= 1)
        return false;
    int n = sqrt(num);
    for(int i=2; i<=n; i++)
    {
        if(num%i == 0)
            return false;
    }
    return true;
}

bool check(int x, int y)
{
    for(int i=x; i<=y; i++)
    {
        if(!isprime(i*i + i + 41))
            return false;
    }
    return true;
}

int main()
{
    int x, y;
    while(scanf("%d %d", &x, &y), (x || y))
    {
        if(check(x, y))
            printf("OK\n");
        else
            printf("Sorry\n");
    }

    return 0;
}

2013:

#include <cstdio>

using namespace std;


int main()
{
    int n;
    while(scanf("%d", &n) != EOF)
    {
        int ans = 1;
        for(int i=0; i<n-1; i++)
        {
            ans = (ans + 1) * 2;
        }
        printf("%d\n", ans);
    }



    return 0;
}

2014:

#include <cstdio>
#include <algorithm>

using namespace std;

int a[100+7];
int main()
{
    int n;
    while(scanf("%d", &n) != EOF)
    {
        for(int i=0; i<n; i++)
        {
            scanf("%d", &a[i]);
        }
        sort(a, a+n);
        int sum = 0;
        for(int i=1; i<n-1; i++)
        {
            sum += a[i];
        }
        printf("%.2lf\n", 1.0 * sum / (n-2));
    }


    return 0;
}

2015:

#include <cstdio>
#include <algorithm>

using namespace std;

int num[100];
int a[100+7];
int main()
{
    for(int i=0; i<100; i++)
    {
        num[i] = (i+1) * 2;
    }
    int n, m;
    while(~scanf("%d %d", &n, &m))
    {
        int cnt = 0;
        for(int i=0; i<n; i+=m)
        {
            int tmp = 0;
            for(int j=i; j<m+i && j < n; j++)
            {
                tmp += num[j];
            }
            a[cnt++] = tmp;

        }
        for(int i=0; i<cnt-1; i++)
        {
            printf("%d ", a[i]/m);
        }
        if(n%m != 0)
            printf("%d\n", a[cnt-1]/(n%m));
        else
            printf("%d\n", a[cnt-1]/m);
    }


    return 0;
}

2016:

// 又踩坑了,不知道出题人有没有想到这个坑
// 交换的时候不能使用异或,否则当只有一个数的的时候就变成0了
// 一个也不准确,具体来说是MinIndex不能和他交换的数的下标相等,否则会出0错误

#include <cstdio>
using namespace std;

int a[100+7];
int main()
{
    int n;
    while(scanf("%d", &n), n)
    {
        for(int i=0; i<n; i++)
            scanf("%d", &a[i]);
        int MinIndex = 0;
        for(int i=1; i<n; i++)
        {
            if(a[MinIndex] >= a[i])
                MinIndex = i;
        }
        if(MinIndex != 0)
            a[0]^=a[MinIndex]^=a[0]^=a[MinIndex];
        // int tmp = a[0];
        // a[0] = a[MinIndex];
        // a[MinIndex] = tmp;
        for(int i=0; i<n-1; i++)
        {
            printf("%d ", a[i]);
        }
        printf("%d\n", a[n-1]);
    }


    return 0;
}

2017:

#include <iostream>
#include <string>

using namespace std;

int main()
{
    ios::sync_with_stdio(false);
    int t;
    cin >> t;
    while(t--)
    {
        string s;
        cin >> s;
        int cnt = 0;
        int len = s.size();
        for(int i=0; i<len; i++)
        {
            if(s[i] >= '0' && s[i] <= '9')
                cnt ++;
        }
        printf("%d\n", cnt);
    }

    return 0;
}

2018:

#include <cstdio>

using namespace std;

int main()
{
    int n;
    while(scanf("%d", &n), n)
    {
        int x1, x2, x3, x4;
        x1 = x2 = x3 = x4 = 0;
        x4 = 1;
        for(int i=1; i<n; i++)
        {
            int tmp1 = x1;
            int tmp2 = x2;
            x4 = x3 + x4;
            x1 = x4;
            x2 = tmp1;
            x3 = tmp2;
        }
        printf("%d\n", x1+x2+x3+x4);
    }


    return 0;
}

2019:

#include <cstdio>
#include <vector>
#include <algorithm>

using namespace std;

vector<int> ve;
int main()
{
    int n, m;
    while(scanf("%d%d", &n, &m), n||m)
    {
        int num;
        ve.clear();
        for(int i=0; i<n; i++)
        {
            scanf("%d", &num);
            ve.push_back(num);
        }
        sort(ve.begin(), ve.end());
        bool flag = false;
        for(int i=0; i<n; i++)
        {
            if(ve[i] > m)
            {
                ve.insert(ve.begin() + i, m);
                flag = true;
                break;
            }
        }
        if(!flag)
            ve.push_back(m);
        for(int i=0; i<n+1-1; i++)
        {
            printf("%d ", ve[i]);
        }
        printf("%d\n", ve[n]);
    }


    return 0;
}