Jelly, (削除) 16 (削除ここまで) (削除) 30 (削除ここまで) (削除) 29 (削除ここまで) 20 bytes
Now with the correct output format! Many thanks to Dennis for his help in debugging this answer. Golfing suggestions welcome. Try it online! Try it online!
Edit: +14 bytes from using the correct output format. -1 byte from removing an extra space. -3 from changing from 24,60,60 to "ð<<‘. -6 bytes from changing +100DḊ€€ to d5.
"ð<<‘Œp’S=\Ðfd5j€":Y
Explanation
"ð<<‘Œp’S=\Ðfd5j€":Y Main link. Argument: n
"ð<<‘ Jelly ord() the string `ð<<` to get [24, 60, 60]. Call this list z.
Œp Cartesian product of z's items.
Since each item of z is a literal,
Jelly takes the range [1 ... item] for each item.
’ Decrements every number in the Cartesian product
to get lowered ranges [0 ... item-1].
S=\ Create a dyadic link of `sum is equal to (implicit n)`.
Ðf Filter the Cartesian product for items with sum equal to n.
d5 By taking divmod 10 of every number in each item,
we get zero padding for single-digit numbers
and every double-digit number just turns into a list of its digits.
j€": Join every number with a ':'.
Y Join all of the times with linefeeds for easier reading.
Jelly, (削除) 16 (削除ここまで) (削除) 30 (削除ここまで) (削除) 29 (削除ここまで) 20 bytes
Now with the correct output format! Many thanks to Dennis for his help in debugging this answer. Golfing suggestions welcome. Try it online!
Edit: +14 bytes from using the correct output format. -1 byte from removing an extra space. -3 from changing from 24,60,60 to "ð<<‘. -6 bytes from changing +100DḊ€€ to d5.
"ð<<‘Œp’S=\Ðfd5j€":Y
Explanation
"ð<<‘Œp’S=\Ðfd5j€":Y Main link. Argument: n
"ð<<‘ Jelly ord() the string `ð<<` to get [24, 60, 60]. Call this list z.
Œp Cartesian product of z's items.
Since each item of z is a literal,
Jelly takes the range [1 ... item] for each item.
’ Decrements every number in the Cartesian product
to get lowered ranges [0 ... item-1].
S=\ Create a dyadic link of `sum is equal to (implicit n)`.
Ðf Filter the Cartesian product for items with sum equal to n.
d5 By taking divmod 10 of every number in each item,
we get zero padding for single-digit numbers
and every double-digit number just turns into a list of its digits.
j€": Join every number with a ':'.
Y Join all of the times with linefeeds for easier reading.
Jelly, (削除) 16 (削除ここまで) (削除) 30 (削除ここまで) (削除) 29 (削除ここまで) 20 bytes
Now with the correct output format! Many thanks to Dennis for his help in debugging this answer. Golfing suggestions welcome. Try it online!
Edit: +14 bytes from using the correct output format. -1 byte from removing an extra space. -3 from changing from 24,60,60 to "ð<<‘. -6 bytes from changing +100DḊ€€ to d5.
"ð<<‘Œp’S=\Ðfd5j€":Y
Explanation
"ð<<‘Œp’S=\Ðfd5j€":Y Main link. Argument: n
"ð<<‘ Jelly ord() the string `ð<<` to get [24, 60, 60]. Call this list z.
Œp Cartesian product of z's items.
Since each item of z is a literal,
Jelly takes the range [1 ... item] for each item.
’ Decrements every number in the Cartesian product
to get lowered ranges [0 ... item-1].
S=\ Create a dyadic link of `sum is equal to (implicit n)`.
Ðf Filter the Cartesian product for items with sum equal to n.
d5 By taking divmod 10 of every number in each item,
we get zero padding for single-digit numbers
and every double-digit number just turns into a list of its digits.
j€": Join every number with a ':'.
Y Join all of the times with linefeeds for easier reading.
Jelly, (削除) 16 (削除ここまで) (削除) 30 (削除ここまで) (削除) 29 (削除ここまで) 20 bytes
Now with the correct output format! Many thanks to Dennis for his help in debugging this answer. Golfing suggestions welcome. Try it online!
Edit: +14 bytes from using the correct output format. -1 byte from removing an extra space. -3 from changing from 24,60,60 to "ð<<‘. -6 bytes from changing +100DḊ€€ to d5.
"ð<<‘Œp’S=\Ðfd5j€":Y
Explanation
"ð<<‘Œp’S=\Ðfd5j€":Y Main link. Argument: n
"ð<<‘ Jelly ord() the string `ð<<` to get [24, 60, 60]. Call this list z.
Œp Cartesian product of z's items.
Since each item of z is a literal,
Jelly takes the range [1 ...item] for each item.
’ Decrements every number in the Cartesian product
to get lowered ranges [0 ... item-1].
S=\ Create a dyadic link of `sum is equal to (implicit n)`.
Ðf Filter the Cartesian product for items with sum equal to n.
d5 By taking divmod 10 of every number in each item,
we get zero padding for single-digit numbers
and every double-digit number just turns into a list of its digits.
j€": Join every number with a ':'.
Y Join all of the times with linefeeds for easier reading.
Jelly, (削除) 16 (削除ここまで) (削除) 30 (削除ここまで) (削除) 29 (削除ここまで) 20 bytes
Now with the correct output format! Many thanks to Dennis for his help in debugging this answer. Golfing suggestions welcome. Try it online!
Edit: +14 bytes from using the correct output format. -1 byte from removing an extra space. -3 from changing from 24,60,60 to "ð<<‘. -6 bytes from changing +100DḊ€€ to d5.
"ð<<‘Œp’S=\Ðfd5j€":Y
Explanation
"ð<<‘Œp’S=\Ðfd5j€":Y Main link. Argument: n
"ð<<‘ Jelly ord() the string `ð<<` to get [24, 60, 60]. Call this list z.
Œp Cartesian product of z's items.
Since each item of z is a literal,
Jelly takes the range [1..item] for each item.
’ Decrements every number in the Cartesian product.
S=\ Create a dyadic link of `sum is equal to (implicit n)`.
Ðf Filter the Cartesian product for items with sum equal to n.
d5 By taking divmod 10 of every number in each item,
we get zero padding for single-digit numbers
and every double-digit number just turns into a list of its digits.
j€": Join every number with a ':'.
Y Join all of the times with linefeeds for easier reading.
Jelly, (削除) 16 (削除ここまで) (削除) 30 (削除ここまで) (削除) 29 (削除ここまで) 20 bytes
Now with the correct output format! Many thanks to Dennis for his help in debugging this answer. Golfing suggestions welcome. Try it online!
Edit: +14 bytes from using the correct output format. -1 byte from removing an extra space. -3 from changing from 24,60,60 to "ð<<‘. -6 bytes from changing +100DḊ€€ to d5.
"ð<<‘Œp’S=\Ðfd5j€":Y
Explanation
"ð<<‘Œp’S=\Ðfd5j€":Y Main link. Argument: n
"ð<<‘ Jelly ord() the string `ð<<` to get [24, 60, 60]. Call this list z.
Œp Cartesian product of z's items.
Since each item of z is a literal,
Jelly takes the range [1 ...item] for each item.
’ Decrements every number in the Cartesian product
to get lowered ranges [0 ... item-1].
S=\ Create a dyadic link of `sum is equal to (implicit n)`.
Ðf Filter the Cartesian product for items with sum equal to n.
d5 By taking divmod 10 of every number in each item,
we get zero padding for single-digit numbers
and every double-digit number just turns into a list of its digits.
j€": Join every number with a ':'.
Y Join all of the times with linefeeds for easier reading.
Jelly, (削除) 16 (削除ここまで) (削除) 30 (削除ここまで) 29(削除) 29 (削除ここまで) 20 bytes
Now with the correct output format! ThanksMany thanks to Dennis for his help in debugging this answer. Golfing suggestions welcome. Try it online!
Edit: +14 bytes from using the correct output format. -1 byte from removing an extra space. -3 from changing from 24,60,60 to "ð<<‘. -6 bytes from changing +100DḊ€€ to d5.
24,60,60Œp’S=\Ðf+100DḊ€€j€""ð<<‘Œp’S=\Ðfd5j€":Y
24,60,60Œp’S=\Ðf+100DḊ€€j€""ð<<‘Œp’S=\Ðfd5j€":Y Main link. Argument: n
24,60,60"ð<<‘ Jelly ord() the string `ð<<` to Pairget 24[24, 60 and 60 into a, list60]. Call this list z.
Œp Cartesian product of z's items.
Since each item of z is a literal,
Jelly takes the range [1..item] for each item.
’ Decrements every number in the Cartesian product.
S=\ Create a dyadic link of `sum is equal to (implicit n)`.
Ðf Filter the Cartesian product for items with sum equal to n.
d5 +100 By taking divmod 10 of Addevery 100number toin each item in the list of filtered items.,
D Convert every integerwe toget azero listpadding offor decimalsingle-digit digits.numbers
Ḋ€€ Dropand every first double-digit.
This removes the extra 1 from adding 100,
number just turns into anda nicelylist zero-padsof theits restdigits.
j€": Join every number with a ':'.
Y Join all of the times onwith linefeeds for easier reading.
Jelly, (削除) 16 (削除ここまで) (削除) 30 (削除ここまで) 29 bytes
Now with the correct output format! Thanks to Dennis for his help in debugging this answer. Golfing suggestions welcome. Try it online!
24,60,60Œp’S=\Ðf+100DḊ€€j€":Y
24,60,60Œp’S=\Ðf+100DḊ€€j€":Y Main link. Argument: n
24,60,60 Pair 24, 60 and 60 into a list. Call this list z.
Œp Cartesian product of z's items.
Since each item of z is a literal,
Jelly takes the range [1..item] for each item.
’ Decrements every number in the Cartesian product.
S=\ Create a dyadic link of `sum is equal to (implicit n)`.
Ðf Filter the Cartesian product for items with sum equal to n.
+100 Add 100 to each item in the list of filtered items.
D Convert every integer to a list of decimal digits.
Ḋ€€ Drop every first digit.
This removes the extra 1 from adding 100,
and nicely zero-pads the rest.
j€": Join every number with a ':'.
Y Join all of the times on linefeeds for easier reading.
Jelly, (削除) 16 (削除ここまで) (削除) 30 (削除ここまで) (削除) 29 (削除ここまで) 20 bytes
Now with the correct output format! Many thanks to Dennis for his help in debugging this answer. Golfing suggestions welcome. Try it online!
Edit: +14 bytes from using the correct output format. -1 byte from removing an extra space. -3 from changing from 24,60,60 to "ð<<‘. -6 bytes from changing +100DḊ€€ to d5.
"ð<<‘Œp’S=\Ðfd5j€":Y
"ð<<‘Œp’S=\Ðfd5j€":Y Main link. Argument: n
"ð<<‘ Jelly ord() the string `ð<<` to get [24, 60, 60]. Call this list z.
Œp Cartesian product of z's items.
Since each item of z is a literal,
Jelly takes the range [1..item] for each item.
’ Decrements every number in the Cartesian product.
S=\ Create a dyadic link of `sum is equal to (implicit n)`.
Ðf Filter the Cartesian product for items with sum equal to n.
d5 By taking divmod 10 of every number in each item,
we get zero padding for single-digit numbers
and every double-digit number just turns into a list of its digits.
j€": Join every number with a ':'.
Y Join all of the times with linefeeds for easier reading.