Jak długo zostało?
Ostatnio robiłem pizzę za pomocą 5-minutowego timera na telefonie. Kiedy ktoś wszedł i zapytał mnie, jak długo zostało, na początku byłem przez chwilę zdezorientowany, jak odpowiedzieć na pytanie. Widzicie, jeśli licznik czasu w tej chwili był o 3:47, to zanim przeczytałem głośno „Trzy minuty i czterdzieści siedem sekund”, czas by się zmienił. Dlatego muszę znaleźć czas, timer osiągnie tylko jak skończę czytać ją.
Oto twoje wyzwanie: zautomatyzować ten proces. Biorąc pod uwagę czas w dowolnym odpowiednim formacie (ogranicznik „:” lub jako argument minutowy i drugi), wypisz najwcześniejszy czas od bieżącego momentu, którego odczyt zajmie tyle samo czasu, ile zajęłoby czasowi do. Zakładamy, że odczytanie każdej sylaby zajmuje 1 sekundę.
Dalsze zasady
- Musisz liczyć „minuty” i „sekundy” jako dwie z sylab każda, a także „i” między nimi.
- Gotowanie pizzy nigdy nie zajmie więcej niż 59:59.
- „11 minut i 0 sekund” to nie 10 sylab: musisz uprościć do „11 minut” (tj. 5 sylab). To samo dotyczy minut: „0 minut i 7 sekund” jest również liczone tylko jako 4 sylaby.
- Twój program może przekazać dane wyjściowe w dowolnym formacie: tablicy
[minutes, seconds]
lub nawet jako<minutes> minutes and <seconds> seconds
(normalny tekst wypisany). - Obowiązują standardowe luki.
- To jest golf golfowy , więc wygrywa najkrótsza odpowiedź w bajtach.
Przypadki testowe
Wszystkie dane wejściowe jak (minutes, seconds)
(4, 47) = (4, 38) (Four MiNutes And ThirTy Eight SeConds - 9 syllables/seconds)
(1, 1) = (0, 56) (FifTy-Six SeConds - 5 syllables/seconds)
(59, 57) = (59, 46) (FifTy Nine Minutes And Forty Six SeConds - 11 syllables/seconds)
(0, 10) = null/error/0 (no positive answer)
Odnośnik do zliczania sylab
Dla odniesienia, oto liczba sylab w każdej liczbie do 59.
0,0 (does not need to be counted)
1,1
2,1
3,1
4,1
5,1
6,1
7,2
8,1
9,1
10,1
11,3
12,1
13,2
14,2
15,2
16,2
17,3
18,2
19,2
20,2
21,3
22,3
23,3
24,3
25,3
26,3
27,4
28,3
29,3
30,2
31,3
32,3
33,3
34,3
35,3
36,3
37,4
38,3
39,3
40,2
41,3
42,3
43,3
44,3
45,3
46,3
47,4
48,3
49,3
50,2
51,3
52,3
53,3
54,3
55,3
56,3
57,4
58,3
59,3