Число минут когда часовая и минутная стрелки совпадут - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Помогите найти ошибку/причину в коде (условия задачи ниже), не проходят 2 теста (скрин во вложении) На вход программе подаются два целых числа, указывающие момент времени "n часов m минут". Определите наименьшее число полных минут, которое должно пройти до того момента, когда часовая и минутная стрелки ни циферблате совпадут, не обязательно на каком-то делении. Вещественную арифметику не использовать. Примеры Входные данные 2 50 Выходные данные 26 Входные данные 3 0 Выходные данные 16
#include <stdio.h>
#define hour 60
#define circle 720
 
int main(int argc, char *argv[])
{
    int h;
    int m;
    scanf("%d",&h);
    scanf("%d",&m);
    int t =  60 * (h % 12) + m % 60;
    int x = (m==h*5) ? 0:(circle*((t/(circle/11))+1)/11 - t);
    printf("%d\n", x);
    return 0;
}

Решение задачи: «Число минут когда часовая и минутная стрелки совпадут»

textual
Листинг программы
    int dm=(60*h+m)/12-m<0?60:0;
    printf("%d\n",(60*h-11*m+12*dm)/11);

Объяснение кода листинга программы

  1. Переменная h содержит количество часов, прошедших с начала суток (от 0 до 23).
  2. Переменная m содержит количество минут, прошедших с начала суток (от 0 до 59).
  3. Переменная dm используется для хранения остатка от деления (60h+m)/12 на 11. Присваивается значение (60h-11m+12dm)/11.
  4. Вывод на экран значения переменной dm.
  5. Значение переменной dm вычисляется следующим образом: (60*h+m)/12-m<0?60:0.
  6. В знаменателе 12, т.к. в одном часе 12 заведений по 60 минут.
  7. Значение переменной dm сдвигается на 60, если результат (60*h+m)/12-m отрицательный.
  8. Результат (60*h+m)/12-m делится на 11.
  9. Если результат (60*h+m)/12-m отрицательный, то к нему добавляется 60.
  10. Результат (60*h+m)/12-m выводится на экран.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.143 из 5
Похожие ответы