A25201. 编程实现:环形地铁有 n 个站点,按顺时针方向站点编号依次为 1 到 n(n 号站与 1 号站相邻),乘客可在任意站点顺时针或逆时针乘坐。小可从 m 号站进站前往 n 号站,请计算他最少需要乘坐多少站(站数计算不包括 m 号站)。例如:n = 6,m = 4;环形地铁有 6 个站,小可从 4 号站前往 6 号站,顺时针乘坐需要 2 站(4→5→6),逆时针乘坐需要 4 站(4→3→2→1→6),…
填空题
容易
知识点
题目描述
编程实现:
环形地铁有 n 个站点,按顺时针方向站点编号依次为 1 到 n(n 号站与 1 号站相邻),乘客可在任意站点顺时针或逆时针乘坐。
小可从 m 号站进站前往 n 号站,请计算他最少需要乘坐多少站(站数计算不包括 m 号站)。
例如:n = 6,m = 4;环形地铁有 6 个站,小可从 4 号站前往 6 号站,顺时针乘坐需要 2 站(4→5→6),
逆时针乘坐需要 4 站(4→3→2→1→6),故最少需要乘坐 2 站。

输入描述:
第一行输入一个整数 n(4≤n≤1000),表示环形地铁的站点数量;
第二行输入一个整数 m(1≤m<n),表示小可进站的站点编号。
输出描述:
输出一个整数,表示小可最少需要乘坐的站数。
样例输入:
6
4样例输出:
2参考答案
n = int(input( ).strip( ))
m = int(input( ).strip( ))
clockwise = (n - m) % n
counter_clockwise = (m - 1) % n
print(min(clockwise, counter_clockwise))答案解析
顺时针:(n - m) % n。
逆时针:(m - 1) % n。
取两者较小值。
上一题
下一题