USACO 1.2.5 Dual Palindromes

来源:互联网 发布:哈利波特宝箱淘宝 编辑:程序博客网 时间:2024/05/16 05:51

USACO  1.2.5  DualPalindromes

     为颈椎+1 !为盲打+1 !

     题意:找出在大于某个数的范围内一定数目的满足要求的回文数,要求就是这个用十进制表示的数字用2~10进制表示时至少存在两个回文数。

     细节+代码:

 

    

/*   ID: 15257142   LANG: C   TASK: dualpal*/#include<stdio.h>#include<string.h>int trans(int num,int n){int k,i,g;char b[100],c[100],d[100];k = -1;while(num>0){k++;b[k] = (num%n)+'0';num = num/n;}for(i = 0;i<=k/2;i++)c[i] = b[i];c[i] = '\0';if(k%2==1)g = k/2+1;elseg = k/2;for(i = k;i>=g;i--)d[k-i] = b[i];d[k-i] = '\0';if(strcmp(c,d)==0&&c[0]!=0)return 1;elsereturn 0;}int main(){freopen("dualpal.in","r",stdin);freopen("dualpal.out","w",stdout);int n,s,i,j,every,count;scanf("%d%d",&n,&s);count = 0;for(i = s+1;;i++){every = 0;for(j = 2;j<=10;j++){if(trans(i,j)==1)every++;if(every==2){printf("%d\n",i);count++;break;}}if(count==n)break;}fclose(stdin);fclose(stdout);return 0;}


 

 

原创粉丝点击