USACO1.5.2 Prime Palindromes (pprime)

来源:互联网 发布:小熊刷金币软件 编辑:程序博客网 时间:2024/05/17 22:42
水题。先找出所有的回文数再判断是不是质数。
/*ID:shijiey1PROG:pprimeLANG:C++*/#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>using namespace std;int a, b;int n = 0;int arr[10000];void isPrime(int t) {if (t >= a && t <= b) {bool flag = false;for (int i = 2; i <= sqrt(t); i++) {if (!(t % i)) {flag = true;break;}}if (!flag) {arr[n++] = t;}}}int main() {freopen("pprime.in", "r", stdin);freopen("pprime.out", "w", stdout);scanf("%d %d", &a, &b);int t;if (a <= 2) arr[n++] = 2;for (int i = 1; i <= 9; i += 2) {isPrime(i);isPrime(i * 11);for (int j = 0; j <= 9; j++) {t = i * 101 + j * 10;isPrime(t);t = i * 1001 + j * 110;isPrime(t);for (int k = 0; k <= 9; k++) {t = i * 10001 + j * 1010 + k * 100;isPrime(t);t = i * 100001 + j * 10010 + k * 1100;isPrime(t);for (int l = 0; l <= 9; l++) {t = i * 1000001 + j * 100010 + k * 10100 + l * 1000;isPrime(t);t = i * 10000001 + j * 1000010 + k * 100100 + l * 11000;isPrime(t);}}}}sort(arr, arr + n);for (int i = 0; i < n; i++) {printf("%d\n", arr[i]);}return 0;}

0 0
原创粉丝点击