本文主要是介绍ACM-ICPC 2018 沈阳赛区网络预赛 K. Supreme Number(思维),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目链接: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);}
}
这篇关于ACM-ICPC 2018 沈阳赛区网络预赛 K. Supreme Number(思维)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!