版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
题目描述
一辆以固定速度行驶的汽车,司机在上午10点看到里程表上的读数是一个对称数(即这个数从左向右读和从右向左读是完全一样的),为95859。两小时后里程表上出现了一个新的对称数。问该车的速度是多少?新的对称数是多少?
## 样例输出
95959
提示
根据题意,设所求对称数为i,其初值为95589,对其依次递增取值,将i值的每一位分解后与其对称位置上的数进行比较,若每个对称位置上的数皆相等,则可判定i即为所求的对称数。
#include<bits/stdc++.h>
using namespace std;
int main(){
int a=95589;
int b,m,x,z,n;
while(a++)
{
z=0;
n=a;
b=ceil(log10(a));
m=pow(10,b-1);
for(int i=0;i<b;i++)
{
x=a/m*pow(10,i);
a=a%m;
m=m/10;
z=z+x;
}
a=n;
if(a==z)
{
cout<<z;
break;
}
}
return 0;
}