Problema
Ver original (inglés)Divide una duración en horas, minutos y segundos. Escribe las unidades como h, m y s, en ese orden, con un espacio entre cada unidad. Omite cualquier unidad cuyo valor sea cero, excepto que los segundos cero se escriben como 0s.
Implementa format_duration(seconds).
Entrada
seconds: La duración total en segundos.
Salida
Devuelve la duración formateada, por ejemplo 2h 2m 5s.
Restricciones
0 ≤ seconds ≤ 1,000,000,000. Las horas pueden ser mayores que 23; esto es una duración, no una hora del día.
Ejemplos
Entrada:
seconds = 7325
Salida esperada:
expected = "2h 2m 5s"
Entrada:
long long seconds = 7325;
Salida esperada:
std::string expected = "2h 2m 5s";
Entrada:
long seconds = 7325;
Salida esperada:
string expected = "2h 2m 5s";
Explicación
7325 = 2 × 3600 + 2 × 60 + 5.
Entrada:
seconds = 120
Salida esperada:
expected = "2m"
Entrada:
long long seconds = 120;
Salida esperada:
std::string expected = "2m";
Entrada:
long seconds = 120;
Salida esperada:
string expected = "2m";
Explicación
120 segundos son exactamente 2 minutos. Se omiten las horas y los segundos si son cero.
Referencias
Este reto está adaptado para CodeUtility. Sigue el enunciado y las restricciones indicadas arriba.