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;

}