一辆以固定速度行驶的汽车,司机在上午10点看到里程表上的读数是一个对称数(即这个数从左向右读和从右向左读是完全一样的),为95859。两小时后里程表上出现了一个新的对称数。问该车的速度是多少?新的对称数是多少?
#include<iostream>
using namespace std;
int main()
{
int a = 95859;
int flag = 0;
for (int i=a+1; flag == 0; i++) {
int k = 0;
int b = 0;
for (int j = i; j > 0;){//计算a有几位
j = j / 10;
b++;
}
int *e = new int[b];
int f = i;
for (int j = 0; j < b; j++) {//将每一位放到数组中
e[j] = f % 10;
f = f / 10;
}
for (int j = 0,c=b-1; j < b / 2; j++,c--)
if (e[j]!=e[c]) k =1;
if (k == 0) {//找到了新的最小的对称数
cout << i<<endl;
flag = 1;
}
}
}
通过修改a的值可以得到新的答案,且无需事先知道a的位数