輸出N個大于s的滿足條件的數, 對于滿足條件的數的定義是其2-10進制表示中,至少有兩種表示為回文串。。還是暴力:
/*ID: m1500293LANG: C++PROG: dualpal */ #include <cstdio> #include <cstring> #include <algorithm>using namespace std;int a[200], len_a; int is[100000+100];int judge() {bool flog = true;for(int i=0; i<len_a/2; i++)if(a[i] != a[len_a-1-i]){flog = false;break;}return flog; }int pan(int n) //判斷n是否滿足條件 {int num = 0;for(int base=2; base<=10; base++){len_a = 0;int tp = n;while(tp > 0){a[len_a++] = tp%base;tp /= base;}if(judge()) num++;}return num>=2; }int main() {freopen("dualpal.in", "r", stdin);freopen("dualpal.out", "w", stdout);memset(is, 0, sizeof(is));for(int i=1; i<=100000; i++){if(pan(i)) is[i] = 1;}int n, s;while(scanf("%d%d", &n, &s) == 2){int tp = 0;for(int i=s+1; tp<n; i++){if(is[i]){printf("%d\n", i);tp++;}}}return 0; }
?