Averages/Mean time of day: Difference between revisions

Added 11l
(Add Factor example)
(Added 11l)
Line 18:
 
<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}}==
1,481

edits