题库首页 › 蓝桥杯大赛(Python) › 题目 14636

编程实现: 环形地铁有 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 个站点,按顺时针方向站点编号依次 题目配图

正确答案:从m到n:顺时针n-m站,逆时针m站。print(min(n-m,m))。

答案解析

顺时针:(n - m) % n。

逆时针:(m - 1) % n。

取两者较小值。

试卷来源:202503(第16届)蓝桥杯Python编程青少组(选拔赛_中/高级)真题

本卷相关题目

在线做题 同科目题库