Матч
144, Время (Time)
Дивизион 2, Уровень
1
Время представляется строкой в
формате “<H>:<M>:<S>”, где <H>, <M> и <S> –
соответственно количество часов, минут и секунд. Необходимо по количеству
секунд, прошедших после полночи, определить время в представленном выше
формате.
Класс: Time
Метод: string whatTime(int seconds)
Ограничения:
0 £ seconds
£ 24*60*60 – 1 = 86399.
Вход. Количество секунд seconds, прошедшее после полночи.
Выход. Время в формате “<H>:<M>:<S>”,
соответствующее seconds
секундам, прошедшим после полночи.
Пример входа
seconds |
0 |
3661 |
86399 |
Пример выхода
“0:0:0”
“1:1:1”
“23:59:59”
РЕШЕНИЕ
обработка строк
Количество искомых часов равно seconds / 3600, минут seconds % 3600 / 60, секунд seconds % 60. Выводим в символьный
массив s эти значения при помощи команды sprintf и возвращаем его,
предварительно преобразовав в тип string.
ПРОГРАММА
#include <cstdio>
#include <string>
using namespace std;
class Time
{
public:
string whatTime(int seconds)
{
char s[100];
sprintf(s,"%d:%d:%d",seconds/3600,seconds%3600/60,seconds%60);
return string(s);
}
};