1050: 【C语言训练】求车速
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 236 Solved: 211
[Submit][Status][BBS]
Description
一辆以固定速度行驶的汽车,司机在上午10点看到里程表上的读数是一个对称数(即这个数从左向右读和从右向左读是完全一样的),为95859。两小时后里程表上出现了一个新的对称数。问该车的速度是多少?新的对称数是多少?
Input
Output
输出为最近的一次出现符合要求的的读书
Sample Input
Sample Output
HINT
根据题意,设所求对称数为i,其初值为95859,对其依次递增取值,将i值的每一位分解后与其对称位置上的数进行比较,若每个对称位置上的数皆相等,则可判定i即为所求的对称数。
Source
#include <stdio.h> #include <string.h> int main() { int n,a[100001],ans,sum=0; char s[11000]; for(int i=96000; ; i++) { sprintf(s,"%d",i);//把数字改成字符串 // printf("%s ",s); n=strlen(s); // printf("%d ",n); for(int j=0; j<n/2; j++) { if(s[j]==s[n-1-j]) { while(j==n/2-1) { ans=i; sum=(ans-95859)/2; printf("%d ",ans); return 0; } } else break; } } return 0; }