Palindrome Magic 输出n位数的第k个回文串 codechef比赛
Palindrome Magic输出n位数的第k个回文串codechef赛事http://www.codechef.com/BTCD2012/problems/T02/Pal
Palindrome Magic 输出n位数的第k个回文串 codechef赛事
http://www.codechef.com/BTCD2012/problems/T02/
Palindrome Magic
Problem code: T02
#include<stdio.h>#include<string.h>int main(){ int n,cas,i,k; char s[15]; scanf("%d",&cas); while(cas--) { scanf("%d %d",&n,&k); if(n==9) { k=k-1; sprintf(s+1,"%05d",k); s[1]++; for(i=6;i<=9;i++) s[i]=s[n-i+1]; s[i]='\0'; printf("%s\n",s+1); } else if(n==7||n==8) { k=k-1; sprintf(s+1,"%04d",k); s[1]++; for(i=5;i<=n;i++) s[i]=s[n-i+1]; s[i]='\0'; printf("%s\n",s+1); } else if(n==5||n==6) { k=k-1; sprintf(s+1,"%03d",k); s[1]++; for(i=4;i<=n;i++) s[i]=s[n-i+1]; s[i]='\0'; printf("%s\n",s+1); } else if(n==3||n==4) { k=k-1; sprintf(s+1,"%02d",k); s[1]++; for(i=3;i<=n;i++) s[i]=s[n-i+1]; s[i]='\0'; printf("%s\n",s+1); } else if(n==2) { printf("%d\n",k*11); } else if(n==1) { printf("%d\n",k-1); } } return 0;}