Как найти угол между стрелками часов

Онлайн калькулятор находит какой угол образует минутная и часовая стрелка часов, калькулятор вычисляет наименьший угол между стрелками, для определения наибольшего угла необходимо от 360 градусов отнять наименьший угол.

Отметка 12 часов – это
1 час – 360°:12 = 30° (градусы часовой стрелки)
1 минута – 360°:60 = 6° (градусы минутной стрелки)
Каждую минуту часовая стрелка смещается на 30°:60 = 0.5°

×

Пожалуйста напишите с чем связна такая низкая оценка:

×

Для установки калькулятора на iPhone – просто добавьте страницу
«На главный экран»

Для установки калькулятора на Android – просто добавьте страницу
«На главный экран»

Improve Article

Save Article

Like Article

  • Read
  • Discuss(70+)
  • Improve Article

    Save Article

    Like Article

    This problem is known as Clock angle problem where we need to find angle between hands of an analog clock at a given time.
    Examples: 

    Input:  
    h = 12:00
    m = 30.00
    Output: 
    165 degree
    
    Input:  
    h = 3.00
    m = 30.00
    Output: 
    75 degree

    The idea is to take 12:00 (h = 12, m = 0) as a reference. Following are detailed steps.

    1. Calculate the angle made by hour hand with respect to 12:00 in h hours and m minutes. 
    2. Calculate the angle made by minute hand with respect to 12:00 in h hours and m minutes. 
    3. The difference between the two angles is the angle between the two hands.

    How to calculate the two angles with respect to 12:00? 
    The minute hand moves 360 degrees in 60 minute(or 6 degrees in one minute) and hour hand moves 360 degrees in 12 hours(or 0.5 degrees in 1 minute). In h hours and m minutes, the minute hand would move (h*60 + m)*6 and hour hand would move (h*60 + m)*0.5. 
     

    C++

    #include <bits/stdc++.h>

    using namespace std;

    int min(int x, int y)

    {

        return (x < y)? x: y;

    }

    int calcAngle(double h, double m)

    {

        if (h <0 || m < 0 || h >12 || m > 60)

            printf("Wrong input");

        if (h == 12) h = 0;

        if (m == 60)

         {

          m = 0;

          h += 1;

           if(h>12)

            h = h-12;

         }

        float hour_angle = 0.5 * (h * 60 + m);

        float minute_angle = 6 * m;

        float angle = abs(hour_angle - minute_angle);

        angle = min(360 - angle, angle);

        return angle;

    }

    int main()

    {

        cout << calcAngle(9, 60) << endl;

        cout << calcAngle(3, 30) << endl;

        return 0;

    }

    C

    #include <stdio.h>

    #include <stdlib.h>

    int min(int x, int y) { return (x < y)? x: y; }

    int calcAngle(double h, double m)

    {

        if (h <0 || m < 0 || h >12 || m > 60)

            printf("Wrong input");

        if (h == 12) h = 0;

        if (m == 60)

         {

          m = 0;

          h += 1;

           if(h>12)

            h = h-12;

         }

        int hour_angle = 0.5 * (h*60 + m);

        int minute_angle = 6*m;

        int angle = abs(hour_angle - minute_angle);

        angle = min(360-angle, angle);

        return angle;

    }

    int main()

    {

        printf("%d n", calcAngle(9, 60));

        printf("%d n", calcAngle(3, 30));

        return 0;

    }

    Java

    import java.io.*;

    class GFG

    {

        static int calcAngle(double h, double m)

        {

            if (h <0 || m < 0 || h >12 || m > 60)

                System.out.println("Wrong input");

            if (h == 12)

                h = 0;

                 if (m == 60)

           {

            m = 0;

            h += 1;

            if(h>12)

              h = h-12;

            }

            int hour_angle = (int)(0.5 * (h*60 + m));

            int minute_angle = (int)(6*m);

            int angle = Math.abs(hour_angle - minute_angle);

            angle = Math.min(360-angle, angle);

            return angle;

        }

        public static void main (String[] args)

        {

            System.out.println(calcAngle(9, 60)+" degree");

            System.out.println(calcAngle(3, 30)+" degree");

        }

    }

    Python3

    def calcAngle(h,m):

            if (h < 0 or m < 0 or h > 12 or m > 60):

                print('Wrong input')

            if (h == 12):

                h = 0

            if (m == 60):

                m = 0

                h += 1;

                if(h>12):

                       h = h-12;

            hour_angle = 0.5 * (h * 60 + m)

            minute_angle = 6 * m

            angle = abs(hour_angle - minute_angle)

            angle = min(360 - angle, angle)

            return angle

    h = 9

    m = 60

    print('Angle ', calcAngle(h,m))

    C#

    using System;

    class GFG {

        static int calcAngle(double h, double m)

        {

            if (h < 0 || m < 0 ||

                h > 12 || m > 60)

                Console.Write("Wrong input");

            if (h == 12)

                h = 0;

           if (m == 60)

           {

            m = 0;

            h += 1;

            if(h>12)

              h = h-12;

           }

            int hour_angle = (int)(0.5 * (h * 60 + m));

            int minute_angle = (int)(6 * m);

            int angle = Math.Abs(hour_angle - minute_angle);

            angle = Math.Min(360 - angle, angle);

            return angle;

        }

        public static void Main ()

        {

            Console.WriteLine(calcAngle(9, 60));

            Console.Write(calcAngle(3, 30));

        }

    }

    PHP

    <?php

    function mintwo($x, $y)

    {

        return ($x < $y) ?

                      $x : $y;

    }

    function calcAngle($h, $m)

    {

        if ($h <0 || $m < 0 ||

            $h >12 || $m > 60)

            echo "Wrong input";

        if ($h == 12) $h = 0;

        if ($m == 60) {

            $m = 0;

            $h += 1;

            if($h>12)

              $h = $h-12;

        }

        $hour_angle = 0.5 *

                      ($h * 60 + $m);

        $minute_angle = 6 * $m;

        $angle = abs($hour_angle -

                     $minute_angle);

        $angle = min(360 - $angle,

                           $angle);

        return $angle;

    }

    echo calcAngle(9, 60), "n";

    echo calcAngle(3, 30), "n";

    ?>

    Javascript

    <script>

    function min(x, y)

    {

        return (x < y)? x: y;

    }

    function calcAngle(h, m)

    {

        if (h <0 || m < 0 || h >12 || m > 60)

            document.write("Wrong input");

        if (h == 12) h = 0;

        if (m == 60)

        {

        m = 0;

        h += 1;

        if(h>12)

            h = h-12;

        }

        let hour_angle = 0.5 * (h * 60 + m);

        let minute_angle = 6 * m;

        let angle = Math.abs(hour_angle - minute_angle);

        angle = min(360 - angle, angle);

        return angle;

    }

        document.write(calcAngle(9, 60) + "<br>");

        document.write(calcAngle(3, 30) + "<br>");

    </script>

    Time Complexity: O(1)

    Auxiliary Space: O(1)
    Exercise: Find all times when hour and minute hands get superimposed.
    This article is contributed by Ashish Bansal. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above
     

    Last Updated :
    14 Jan, 2022

    Like Article

    Save Article

    Как найти угол между часовыми стрелками?

    12 часов умножаем на 60 минут, получаем 720. Это в 2 раза больше чем 360, то есть, количества градусов в круге. Значит угол одной минуты составляет 0,5 градуса. Считаем количество минут между стрелками и умножаем эту цифру на 0,5.

    Для чего — понятно. Для измерения времени, точнее — показания текущего времени. Чтоб было видно, сколько сейчас.

    Изобретены в Китае. Самое первое упоминание механических часов относится к 725 году, причём история даже сохранила имена мастеров, их изготовивших, — И Син и Лян Лин-цзань.

    Маятниковые часы были изобретены в Германии примерно в 1000 году, их изобретатель — аббат Герберт (по происхождению француз). Удивительное дело, но очень долго после этого маятник в часах не применялся, и их конструкции были «колёсными» — в часах использовались гиревые механизмы.

    Во многих современных смартфонах и планшетах есть функция навигатора. То есть они принимают спутниковые сигналы GPS или ГЛОНАСС. Со спутника непрерывно передаются также сигналы точного времени, они нужны для навигации. Их вот и используют для коррекции времени в кварцевых часах, при помощи специальной микросхемы, встроенной в корпус.

    Я думаю производитель бы заблокировал обратный перевод часов, если бы это было так вредно для часов.

    Но я заметил что некоторые старые часы при переводе назад останавливались, поэтому мне приходилось их потом немного переводить вперёд.

    А у меня раньше было так — я пару лет подряд каждое утро останавливала взгляд на часах и видела 11:11. И я тоже думала, что это какой-то знак. Возможно, так оно и было. После того, как в моей жизни произошло некое событие (человек, в которого я была тогда влюблена, отверг меня и исчез из моей жизни), у меня произошла полная переоценка ценностей. Я поняла, как сильно люблю мужа (а с ним тоже произошла серьезная неприятность, прежде чем я это осознала), и перестала обращать внимание на других мужчин. Кажется, именно тогда я и перестала видеть эти «знаки» в виде повторяющихся чисел.

    Здесь важно понимать, сколько лет Вашей жене, ее вкусы и сумму, на которую Вы рассчитываете.

    Среди молодежи сейчас очень модны часы с многослойным ремешком, они довольно недорогие. Но смотрятся далеко не под всю одежду и женщинам за 35 на мой взгляд не подходят:

    текст при наведении

    Также актуальны часы с браслетом из белой или черной керамики. Они довольно нейтральны. Цены варьируются от 100 рублей до бесконечности:

    текст при наведении

    Если Вам позволяют средства, я все же рекомендую классику от хорошего производителя, например, Tissot? пусть они и стоят дорого, но и служить будут долго.

    текст при наведении

    А еще лучше, возьмите ее с собой в салон и подарите выбор ей. Ну либо подарочный сертификат в часовой салон. Точно не ошибетесь))

    Как найти угол между часовыми стрелками?

    Vyacheslav
    [9.7K]

    9 лет назад 

    anton­iya
    [12.6K]

    9 лет назад 

    12 часов умножаем на 60 минут, получаем 720. Это в 2 раза больше чем 360, то есть, количества градусов в круге. Значит угол одной минуты составляет 0,5 градуса. Считаем количество минут между стрелками и умножаем эту цифру на 0,5.

    комментировать

    в избранное

    ссылка

    отблагодарить

    Знаете ответ?

    Есть интересный вопрос? Задайте его нашему сообществу, у нас наверняка найдется ответ!

    Делитесь опытом и знаниями, зарабатывайте награды и репутацию, заводите новых интересных друзей!

    Задавайте интересные вопросы, давайте качественные ответы и зарабатывайте деньги. Подробнее..

    Статистика проекта за месяц

    Новых пользователей: 4345

    Создано вопросов: 16451

    Написано ответов: 38614

    Начислено баллов репутации: 921944

    Как можно определить угол между стрелками часов?



    Знаток

    (408),
    на голосовании



    10 лет назад

    Голосование за лучший ответ

    Anna

    Мыслитель

    (7372)


    10 лет назад

    Очень просто: часы – это окружность, стрелки образуют центральные углы.
    На циферблате 60 делений, градусная мера окружности =360, значит 1 деление=6 градусов.
    Считаете, сколько делений между стрелками (например, 5). Умножаете на 6 градусов = 5*6=30 гр.
    Градусная мера дуги, на которую будет опираться центральный угол, равна этому углу, т. е. 30 гр.

    Добавить комментарий