本文主要是介绍SJTU 3001. 二哥的幸运,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Description
二哥是一个挺二的人,在二哥的世界观中,有些数字代表着幸运,如果在某一天二哥能够看到一个幸运数字,那么他将非常高兴。当然,二哥对于幸运的定义也是不同凡响,如果一个数字只包含4或者7两种字符,并且他是一个质数(素数),那么二哥认为他是一个幸运数字。二哥想请聪明的你帮忙回答,给定的一个数是否是幸运数字。
Input Format
第1行有1个整数N,表示要测试的数据
Output Format
输出一行字符串,YES或者NO。 表示是否是个幸运数字
Sample Input
47
Sample Output
YES
样例解释
质数的定义为只能被1和他本身整数的数。2是最小的质数。
数据范围
对于100%的数据: 1≤N≤1000000 ;
思路:比较水的题
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
typedef long long ll;
using namespace std;
const int maxn = 1000005;int prime[maxn], vis[maxn], cnt;void init() {memset(vis, 0, sizeof(vis));vis[1] = vis[0] = 1;cnt = 0;for (ll i = 2; i < maxn; i++) {if (vis[i]) continue;prime[cnt++] = i;for (ll j = i*i; j < maxn; j += i)vis[j] = 1;}
}int main() {int n; init();while (scanf("%d", &n) != EOF) {int flag = 1;int tmp = n;while (n) {if ((n%10) != 4 && (n%10) != 7) {flag = 0;break;}n /= 10;}if (flag && !vis[tmp])printf("YES\n");else printf("NO\n");}return 0;
}
这篇关于SJTU 3001. 二哥的幸运的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!