Dual Palindromes

来源:互联网 发布:cydia怎么删除软件 编辑:程序博客网 时间:2024/06/06 14:19

http://train.usaco.org/usacoprob2?a=C2JqJy82RWk&S=dualpal

题目大意:

双重回文:在2---10进制表示下,至少有2种表示为回文数字

输入:N,S

输出:大于S的前N个回文数字

#include <iostream>#include <fstream>using namespace std;string s = "0123456789";string convert(int n, int r)  //n(10进制)----> string(r进制) {string c;int d;//余数while(n){d = n%r;c += s[d];n /= r;}return c;}bool isok(string c)//判断回文 {for(int i = 0, j = c.size() - 1; i < j; i++, j--)if(c[i] != c[j]) return false;return true;}int main(){ifstream fin("dualpal.in");ofstream fout("dualpal.out");int a, b, n, m;string c;while(fin >> a >> b){ n = 0;for(int i = b + 1; n < a; i++){m = 0;for(int j = 2; j <= 10; j++){if(isok(convert(i, j))) m++;if(m >= 2) break;}if(m >= 2) {n++;fout << i << endl;}}} return 0;}


1 0
原创粉丝点击