CF80B 题解
Vct14
·
2023-01-06 13:26:40
·
个人记录
题目传送门
难度
建议评级入门。
题意
给定一个时间 HH:MM,求将时针和分针从 12:00 转到给定时间分别要转多少度。(保留一位小数)
思路
时钟上一圈是 360^\circ。
时针
时针每 12 小时走一圈,每分钟走 360^\circ\div(60\times12)=0.5^\circ。
所以可以先算出时针总需要走多少分钟,再乘 0.5^\circ。
分针
分针则每 60 分钟走一圈,一分钟走 360\div60=6^\circ。
由于分针的走动与过了多少小时无关,且原来的时间(即 12:00)的分针在原点,所以只用直接乘 6^\circ。
代码
#include
using namespace std;
char a[6];
int main(){
cin>>a;
int hour=(a[0]-'0')*10+(a[1]-'0'),min=(a[3]-'0')*10+(a[4]-'0');
printf("%.1lf %d\n",(((hour*60)+min)%720)*0.5,min*6);
return 0;
}