kalviny 发表于 2013-1-26 12:32:11

Dual Palindromes

/*ID: fykalv3LANG: CTASK: dualpal *//*   遍历2到10逐个转换然后判断是不是回文数,就有个mark的变量记录是不是大于两种情况下的回文数 */#include <stdio.h>/*   函数的功能就是转换然后再判断是不是回文数 */int pd(int num){int i, j, m, k, p, q, flag;int les;k = 0;for (i = 2; i <= 10; i++) {flag = 1;j = 0;m = num;while (m) {les = m % i;m /= i;}for (p = 0, q = j-1; p <= q && flag; p++, q--) {if (les != les) flag = 0;}if (flag) //这里是mark的作用k++;}if (k >= 2)// 这里看出来mark的作用了return 1;elsereturn 0;}int main(){FILE *fin = fopen("dualpal.in", "r");FILE *fout = fopen("dualpal.out", "w");int N, S, l, sum = 0;fscanf(fin, "%d %d", &N, &S);for (l = S + 1; sum < N; l++) {if (pd(l)){fprintf(fout, "%d\n", l);sum++;}}fclose(fin);fclose(fout);return 0;}
页: [1]
查看完整版本: Dual Palindromes