ACM-ICPC 2018 沈阳赛区网络预赛 K. Supreme Number(思维)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sugarbliss/article/details/82532899

题目链接:https://nanti.jisuanke.com/t/31452

题意:给你一个数n,让你求小于等n的最大的符合条件的数,这个数要求本身是素数,并且子序列也是素数。

思路:由于是子序列最大的符合条件的数字是317,所以打表即可。

#include <bits/stdc++.h>
using namespace std;
int a[] = {1, 2, 3, 5, 7, 11, 13, 17, 23, 31, 37, 53, 71, 73, 113, 131, 137, 173, 311, 317, 1000};
char s[1005];

int main()
{
    int t;
    cin >> t;
    for(int i = 1; i <= t; i++)
    {
        cin >> s;
        int ans;
        if(strlen(s) >= 4)
            ans = 317;
        else
        {
            int n = atoi(s);
            for(int i = 0; i <= 20; i++)
            {
                if(a[i] > n)
                {
                    ans = a[i - 1];
                    break;
                }
            }
        }
        printf("Case #%d: %d\n", i, ans);
    }
}

 

展开阅读全文

没有更多推荐了,返回首页