Решение задач 1: Напишите программу 3

Сообщения
1 471
Реакции
271
Сайт
tehadm.ru
Идёт k-я секунда суток. Определите, сколько целых часов h и целых минут m прошло с начала суток. Например, если
k=13257=3*3600+40*60+57,
то h=3 и m=40.

Входные данные
На вход программе подается целое число k (0 < k < 86399).

Выходные данные
Выведите на экран фразу:
It is ... hours ... minutes.
Вместо многоточий программа должна выводить значения h и m, отделяя их от слов ровно одним пробелом.

Sample Input:
13257

Sample Output:
It is 3 hours 40 minutes.
 
C-подобный:
package main

import "fmt"

func main() {
    var d int
    fmt.Scan(&d)

    h := d / 3600
    m := (d % 3600) / 60

    fmt.Printf("It is %d hours %d minutes.", h, m)
}
 
C-подобный:
package main
import "fmt"

func main() {
    var n int
    fmt.Scan(&n)

    fmt.Printf("It is %d hours %d minutes.\n",n/3600,n/60%60)
}
 
  • 3600 секунд в одном часе.
  • В сутках 24 часа, поэтому в сутках 24 * 3600 = 86400 секунд.
  • В данном случае k < 86399, поэтому k также меньше 86400.
  • Следовательно, k можно представить в виде суммы целого числа часов h и целого числа минут m, где h * 3600 + m * 60 = k.
  • Переменная h вычисляется как k // 3600, что дает целую часть от деления k на 3600. Это число часов, прошедших с начала суток.
  • Переменная m вычисляется как (k % 3600) // 60, что дает остаток от деления k на 3600, деленный на 60. Это число минут, прошедших с начала последнего часа.
  • Таким образом, мы можем определить количество часов и минут, прошедших с начала суток, используя простые арифметические операции.
 
Назад
Верх Низ