分析问题
想象一下家里的时钟:
- 时钟一圈是360度
- 钟面上有12个小时刻度(1点到12点)
- 每个小时刻度之间相差30度(因为360 ÷ 12 = 30)
现在要计算时针从m时走到n时旋转了多少度:
- 计算从m时到n时经过了多少小时:n – m
- 比如从1时到4时,经过了4-1=3小时
- 每经过1小时,时针旋转30度
- 总旋转度数 = (n – m) × 30
建立模型
我们可以这样理解:
- 把时钟想象成一个披萨,披萨被平均切成12块
- 每块披萨代表1小时,大小是30度(360÷12=30)
- 从m时走到n时,相当于吃掉了(n-m)块披萨
- 所以旋转的总度数就是:(n-m) × 30
例子:
- 输入:m=1, n=4
从1时到4时,经过了3小时 → 3 × 30 = 90度
编写程序(C++)
#include <bits/stdc++.h>
using namespace std;
int main() {
int m, n;
cin >> m >> n; // 输入起始时间m和结束时间n
int hours = n - m; // 计算经过的小时数
int degrees = hours * 30; // 计算旋转的度数
cout << degrees << endl; // 输出结果
return 0;
}
保存 编译 运行
程序说明
- 输入:读入两个整数m和n(1≤m≤n≤12)
- 计算小时差:n – m(因为m≤n,所以结果不会是负数)
- 计算度数:小时差 × 30(每小时30度)
- 输出:直接输出旋转的度数
注意:题目保证m和n都是1~12的整数,且m≤n,所以计算简单安全。例如输入”1 4″会输出”90″。