Averages/Mean time of day: Difference between revisions
Content added Content deleted
(Add Factor example) |
Alextretyak (talk | contribs) (Added 11l) |
||
Line 18: | Line 18: | ||
<hr> |
<hr> |
||
=={{header|11l}}== |
|||
{{trans|Python}} |
|||
<lang 11l>F mean_angle(angles) |
|||
A x = sum(angles.map(a -> cos(radians(a)))) / angles.len |
|||
A y = sum(angles.map(a -> sin(radians(a)))) / angles.len |
|||
R degrees(atan2(y, x)) |
|||
F mean_time(times) |
|||
A t = (times.map(time -> time.split(‘:’))) |
|||
A seconds = (t.map(hms -> (Float(hms[2]) + Int(hms[1]) * 60 + Int(hms[0]) * 3600))) |
|||
A day = 24 * 60 * 60 |
|||
A to_angles = seconds.map(s -> s * 360.0 / @day) |
|||
A mean_as_angle = mean_angle(to_angles) |
|||
A mean_seconds = round(mean_as_angle * day / 360.0) |
|||
I mean_seconds < 0 |
|||
mean_seconds += day |
|||
A h = mean_seconds I/ 3600 |
|||
A m = mean_seconds % 3600 |
|||
A s = m % 60 |
|||
m = m I/ 60 |
|||
R String(h).zfill(2)‘:’String(m).zfill(2)‘:’String(s).zfill(2) |
|||
print(mean_time([‘23:00:17’, ‘23:40:20’, ‘00:12:45’, ‘00:17:19’]))</lang> |
|||
{{out}} |
|||
<pre>23:47:43</pre> |
|||
=={{header|AutoHotkey}}== |
=={{header|AutoHotkey}}== |