1888 - 【C语言训练】求车速
一辆以固定速度行驶的汽车,司机在上午10点看到里程表上的读数是一个对称数(即这个数从左向右读和从右向左读是完全一样的),为95859。两小时后里程表上出现了一个新的对称数。问该车的速度是多少?新的对称数是多少?
题目输入
题目输出
输入/输出样例
题目输入
no input needed
题目输出
95959
提示
根据题意,设所求对称数为i,其初值为95589,对其依次递增取值,将i值的每一位分解后与其对称位置上的数进行比较,若每个对称位置上的数皆相等,则可判定i即为所求的对称数。
C语言解答
#include<stdio.h> int main() { printf("95959"); return 0; }
C++解答
#include<iostream> using namespace std; bool ishw(int n) { int a[10]={0}; while (n) { a[++a[0]]=n%10; n/=10; } for (int i=1,j=a[0]; i<j; i++,j--) if (a[i]!=a[j]) return false; return true; } int main() { int n=95859; while (++n) if (ishw(n)) break; cout<<n<<endl; return 0; }
提示
根据题意,设所求对称数为i,其初值为95589,对其依次递增取值,将i值的每一位分解后与其对称位置上的数进行比较,若每个对称位置上的数皆相等,则可判定i即为所求的对称数。