编程算法案例13

作者:championsky | 发布时间:

求车速

1.问题描述

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

2.问题分析

一辆车在某时刻经过一个路口时速度为 v,这个路口刚好是一个回文数(即正读和反读都相同)。
两个小时后该车经过下一个路口时,发现这个路口的数字也是一个回文数,并且这两个回文数之间只隔了不到100米的距离,假设车一直以速度 v 行驶,求该车的速度。

3.算法设计

  1. 构造函数 is_symmetric(num: int) -> bool,用于判断一个数是否是回文数;
  2. 构造函数 find_symmetrical_num(start: int) -> int,用于寻找下一个回文数;
  3. 构造函数 calculate_velocity(symmetrical1: int, symmetrical2: int) -> float,用于计算车辆速度;
  4. 根据题目要求进行计算。

Python代码实现

此处内容已隐藏,请评论后刷新页面查看.

 

运行结果

程序输出的结果为:

车速为:50.00 km/h
两小时后的对称数为:95959

 

JAVA代码实现

此处内容已隐藏,请评论后刷新页面查看.

 

 

C++代码实现

此处内容已隐藏,请评论后刷新页面查看.