Самый простой это с операций целочисленного деления разбить общее число секунд на часы, минуты, секунды. Далее собрать нужную строку из получившихся значений, преобразовывая в строки. Учитывая длины получившихся подстрок где надо добавляем 0 слева от начала подстроки.
n = int(input('Число секунд с начала суток: ')) h = n // 3600 n = n % 3600 m = n // 60 s = n % 60 sh = str(h) sm = str(m) if len(sm)<2: sm = "0"+sm ss = str(s) if len(ss)<2: ss = "0"+ss print(sh,':',sm,':',ss)
Тест №1 Число секунд с начала суток: 7200 2 : 00 : 00
Тест №2 Число секунд с начала суток: 75201 20 : 53 : 21
Var t, h, mm, ss: integer; ct, ch, cmm, css: string;
begin Write('Введите время в секундах от начала суток -> ');Readln(t); h := t div 3600; t := t mod 3600; mm := t div 60; ss := t mod 60; Str(h, ch); ct := ch + ':'; Str(mm, cmm); if Length(cmm) = 1 then ct := ct + '0' + cmm + ':' else ct := ct + cmm + ':'; Str(ss, css); if Length(css) = 1 then ct := ct + '0' + css else ct := ct + css; Writeln('Указано время ', ct) end.
Тестовое решение: Введите время в секундах от начала суток -> 27429 Указано время 7:37:09
64
Объяснение:
I = K * i, где
I - это информационный объём текстового сообщения (размер файла, содержащего сообщение)
K - количество символов в сообщении
i - информационный вес одного символа (число бит, используемых для записи одного символа)
N = 2^i, где
N - мощность алфавита (количество символов в алфавите)
i - информационный вес одного символа (число бит, используемых для записи одного символа)
С Днём рождения! - 16 символов (включая пробелы и знаки препинания)
Дано:
I = 12 байт = 96 бит
К = 16 символов
Найти:
N
I = K * i
i = I / K
i = 96 / 16 = 6 бит
N = 2⁶ = 64 символа
1 байт = 8 бит