Jump to content

Worthwhile task shaving: Difference between revisions

no edit summary
No edit summary
Line 220:
</pre>
 
=={{header|Vlang}}==
{{trans|Wren}}
<lang vlang>import math
const (
shaved = [1, 5, 30, 60, 300, 1800, 3600, 21600, 86400] // time shaved off in seconds
columns = ["1 SECOND", "5 SECONDS", "30 SECONDS", "1 MINUTE", "5 MINUTES",
"30 MINUTES", "1 HOUR", "6 HOURS", "1 DAY"]
diy = 365.25
minute = 60
hour = minute * 60
day = hour * 24
week = day * 7
month = day * diy / 12
year = day * diy
freq = [50 * diy, 5 * diy, diy, diy/7, 12, 1] // frequency per year
mult = 5 // multiplier for table
)
 
fn fmt_time(t f64, interval string) {
f := int(math.floor(t))
mut s := interval
if f>1 {
s = '${interval}S'
}
print(' ${f:-2} ${s:-9}')
}
 
fn main(){
title := 'HOW OFTEN YOU DO THE TASK'
println("${title:58}")
println('SHAVED OFF | 50/DAY 5/DAY DAILY WEEKLY MONTHLY YEARLY')
println([]string{init:'-',len:93}.join(''))
for y in 0..columns.len {
print('${columns[y]:-12} |')
for x in 0..6 {
t := freq[x] * shaved[y] * mult
if t < minute {
fmt_time(t, "SECOND")
} else if t < hour {
fmt_time(t/minute, "MINUTE")
} else if t < day {
fmt_time(t/hour, "HOUR")
} else if t < 14 * day {
fmt_time(t/day, "DAY")
} else if t < 9 * week {
fmt_time(t/week, "WEEK")
} else if t < year {
fmt_time(t/month, "MONTH")
} else {
print(' ')
}
}
println('')
}
}</lang>
 
{{out}}
<pre>
HOW OFTEN YOU DO THE TASK
SHAVED OFF | 50/DAY 5/DAY DAILY WEEKLY MONTHLY YEARLY
---------------------------------------------------------------------------------------------
1 SECOND | 1 DAY 2 HOURS 30 MINUTES 4 MINUTES 1 MINUTE 5 SECONDS
5 SECONDS | 5 DAYS 12 HOURS 2 HOURS 21 MINUTES 5 MINUTES 25 SECONDS
30 SECONDS | 4 WEEKS 3 DAYS 15 HOURS 2 HOURS 30 MINUTES 2 MINUTES
1 MINUTE | 2 MONTHS 6 DAYS 1 DAY 4 HOURS 1 HOUR 5 MINUTES
5 MINUTES | 10 MONTHS 4 WEEKS 6 DAYS 21 HOURS 5 HOURS 25 MINUTES
30 MINUTES | 6 MONTHS 5 WEEKS 5 DAYS 1 DAY 2 HOURS
1 HOUR | 2 MONTHS 10 DAYS 2 DAYS 5 HOURS
6 HOURS | 2 MONTHS 2 WEEKS 1 DAY
1 DAY | 8 MONTHS 8 WEEKS 5 DAYS
</pre>
 
=={{header|Wren}}==
338

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.