PKU2402:Palindrome Numbers
やるだけ。でもなかなか面倒。
1,2,3,4,5...,88,99 → 9*2個
101,111,121,131...,9779,9889,9999 → 9*10 *2個
10001,10101,10201,10301,10401...997799,998899,999999 → 9*(10^2) *2個
...
こんな感じになるので、桁数でループをまわせば何桁の数か出ますし、その中の何番目に大きい数になるかも出ます。
それを実際にやってみればいいわけです。
#include#include int main(){ int a; int b[100]; while(scanf("%d",&a),a){ for(int i=0;;i++){ int zero=i/2; if(a<=pow(10,zero)*9){ for(int j=0;j =0;j--){ printf("%d",b[j]); } for(int j=(i+1)&1;j