趣味题(求车速)

    xiaoxiao2021-08-16  169

    问题:一辆以固定速度行驶的汽车,司机在上午10点看到里程表上的读数是一个对称数(即这个数从左向右读和从右向左读是完全一样的),为95859.两个小时后里程表上出现了一个新的对称数。问该车的速度是多少?新的对称数是多少?

    问题分析与算法设计: 根据题意,设所求对称数为i,其初值为95859,对其依次递增取值,将值得每一份分解后与其对称位置上的数进行比较,若每一个对称位置上的数皆相等,则可判断i即为所求的对称数。

    #include <stdio.h> int main() { int t; int a[5]; long int k; long int i; for( i = 95860; ; i++) { for( t = 0, k = 100000; k >= 10; t++) { a[t] = ( i % k) / ( k / 10); k /= 10; } if((a[0] == a[4]) && (a[1] == a[3])) { printf("The new symmetrical number kelometers is : %d%d%d%d%d\n", a[0], a[1], a[2], a[3], a[4]); printf("The velocity of the car is: %.2f\n", ( i - 95859) / 2.0); break; } } return 0; }

    结果截图:

    转载请注明原文地址: https://ju.6miu.com/read-676444.html

    最新回复(0)