tozangezan's diary

勝手にソースコードをコピペして利用しないでください。

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