aboutsummaryrefslogtreecommitdiff
path: root/challenge-120/paulo-custodio/bc/ch-2.bc
blob: bd7ae9179ea061e51d4176f6ab443738afcf2307 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/usr/bin/bc -ql

/*
Challenge 120

TASK #2 � Clock Angle
Submitted by: Mohammad S Anwar
You are given time $T in the format hh:mm.

Write a script to find the smaller angle formed by the hands of an analog
clock at a given time.

HINT: A analog clock is divided up into 12 sectors. One sector represents 30
degree (360/12 = 30).

Example
Input: $T = '03:10'
Output: 35 degree

The distance between the 2 and the 3 on the clock is 30 degree.
For the 10 minutes i.e. 1/6 of an hour that have passed.
The hour hand has also moved 1/6 of the distance between the 3 and the 4,
which adds 5 degree (1/6 of 30).
The total measure of the angle is 35 degree.

Input: $T = '04:00'
Output: 120 degree
*/

scale = 0
hh = read()
mm = read()

mm_angle = mm*360/60
hh_angle = (hh % 12)*360/12 + mm_angle*(360/12)/360

if (hh_angle > mm_angle) {  angle = (hh_angle - mm_angle)
} else {                    angle = (mm_angle - hh_angle) }
if (angle > 180) {          angle = 360 - angle }

angle
quit