Вычисление разницы во времени. Pgm03 — Целочисленные вычисления

Задачи, которые приводятся в этой подборке- самые разные как по уровню сложности, так и по подходам к решению. Единственное, что их «роднит»,- в условиях задач обязательно встречается слово «часы».Задачи эти редкие. Источники условий задач – всевозможные сборники и пособия для кружковой работы со школьниками, журнал «Квант» , газета «Математика» , материалы различных олимпиад. В том случае когда источник известен, приводится ссылка на него, но некоторые задачи перешли в разряд «фольклорных» , и сослаться на автора или источник нет возможности.




Задача №1

  • Задание:

  • Ежедневно Он подходил к городским часам в 4 часа. Она же приходила туда, когда воображаемая биссектриса между часовой и минутной стрелками проходила через цифру 6 . Когда приходила Она?



Решение

  • По условию углы 1 и 2 равны. Так как часовая показывает время между 4 и 5 часами, то минутная стрелка расположена между цифрами 7 и 8, то есть искомое время между 4ч35мин и 4 ч40мин.

  • Уточняя, получим, что часовая стрелка находится между 4 7/12 ч и 4 8/12 ч. В силу симметрии для показания t минутной стрелки получим следующее неравенство

  • 35+5*7/12

  • Таким образом, искомое время 4 ч 38 мин

  • Ответ: в 4 ч 38 мин



Задача №2

  • Задание:

  • Куранты бьют 6 раз за 30 с. Сколько секунд они бьют 12 раз?

  • Решение:

  • Промежуток между боем часов равен 30/6-1=6 с. Тогда 12 раз часы бьют в течении 6*(12-1)=66 с.

  • Ответ: 66 секунд



Задача №3

  • Задание:

  • Когда секундная стрелка на часах прошла 1 с, минутная стрелка прошла 6 мин. Тем не менее часы исправны. Как это объяснить?

  • Решение:

  • Речь идёт о секунде времени и угловых минутах. Действительно, за 1 ч минутная стрелка проходит 360°, за 1 мин-6°, а за 1 с в 60 раз меньше, то есть 6 угловых минут.



Задача №4

  • Задание:

  • Сколько раз в сутки стрелки часов совпадают?

  • Решение:

  • Начнём с положения 12:00 или 00:00. В течение первого часа минутная стрелка, пройдя круг, ни разу не совпадёт с часовой. Затем минутная стрелка будет совпадать с часовой один раз в течение каждого часа (примерно в 13:05, в 14:10 и т.д.). За двенадцатый час минутная стрелка совпадёт с часовой лишь в 12:00, но эту точку мы отнесли к следующему кругу. Значит, всего стрелки совпадают лишь одиннадцать раз за полный оборот часовой стрелки, а в сутки-22 раза.

  • Ответ: 22 раза



Задача №5

  • Задание:

  • Сколько раз в сутки стрелки часов направлены противоположно(то есть угол между ними равен 180°)?

  • Решение:

  • Начиная с 6:00 стрелки направлены противоположно первый раз в 6:00, во второй раз, около 7:05, в третий раз, около 08:10,…,в десятый раз, около 3:49, в одиннадцатый раз, около 4:54, в двенадцатый раз- в 6:00, но это уже было первый раз.

  • Итого: одиннадцать раз за 12 часов, а в сутки – 22 раза

  • Ответ:22 раза



Задача №6

  • Задание:

  • Сколько раз в сутки стрелки часов перпендикулярны?

  • Решение. Пусть но кратчайшей дуге стрелки уда­ляются (минутная стрелка дальше по ходу стрелок). Тогда, начиная с 12:00, стрелки перпендикулярны в первый раз, когда часовая стрелка расположена в промежутке от 12:00 до 1:00, во второй раз - от 1:00 до 2:00 и т.д.; всего 11 раз за полный оборот часовой стрелки, то есть в сутки - 22 раза.

  • Пусть, наоборот, стрелки часов сближаются. Рассуждая аналогично, получим - 22 раза в сутки.

  • В итоге: 44 раза стрелки перпендикулярны.

  • Ответ: 44 раза.



Задача №7

  • Задание:

  • Часы показывают 14:00. Через сколько минут минутная стрелка догонит часовую?

  • Решение. Пусть х - искомое время (в часах), ско­рость минутной стрелки - 1 оборот в час, скорость часовой стрелки -1/12 оборота в час. За х ч минутная стрелка пройдет x оборотов, а часовая x/12 оборота, но для того, чтобы стрелки совпали, путь, пройденный минутной стрелкой, должен быть на 2/12 оборота больше. Получим уравнение x-1/12x=2/12, решив которое найдем х = 2/11 ч, то есть 120/11 мин, или 10 10/11 мин.

  • Ответ: через 10 10/11 мин.



Задача №8

  • Задание:

  • Одни часы отстают на 6 мин, а другие спешат на 3 мин в сутки. Сейчас их показания совпадают. Через сколько суток они снова совпадут?

  • Решение. Одни часы отстают на б мин, другие спе­шат на 3 мин в сутки. Значит, за одни сутки расхож­дение увеличивается на 9 мин и через некоторое вре­мя составит 12 ч и не будет распознано. Чтобы уз­нать, когда это произойдет, нужно 12 ч разделить на 9 мин, результат - 80 суток.

  • Ответ: через 80 суток.



Задача №9

  • Задание

  • (Задача аналогична задаче 1, но способ реше­ния другой.) Через сколько минут после полудня биссектриса между часовой и минутной стрелками укажет на 13 мин?



Решение

  • Пусть а - угол между 12:00 и часовой стрелкой, В - угол между 12:00 и минутной стрел­кой (рис. 2); тогда угол между 12:00 и биссектрисой угла равен а+в/2= 6° 13 (за 1 мин положение стрелки изменяется на 6°). Так как минутная стрелка идет в 12 раз быстрее, то в=12а, и а+12а/2=78°, откуда а=12°, в=144°, что соответствует 2/5 ч, или 24 мин

  • Ответ: через 24 мин



Задача №10

  • Задание:

  • Сейчас стрелки часов совпадают. Через сколь­ко минут угол между ними будет 180°?

  • Решение. Пусть скорость часовой стрелки - х, тогда скорость минутной стрелки - 12.x, а скорость удаления стрелок друг от друга - 11х, у - время в минутах, при котором выполняется равенство 11ху =30 мин. Найдем, чему равно значение 12ху, то есть сколько времени потребовалось минутной стрелке, чтобы преодолеть угол в 180°.

  • 12xy=12/11*30=360/11 мин

  • что составляет 32 8/11 мин.

  • Ответ: через 32 8/11 мин.



Задача №11

  • Задание:

  • Электронные часы показывают время ab:cd:ef, a-f - произвольные цифры от нуля до девяти. Сколь­ко раз в сутки показания часов представлены двумя цифрами, каждая из которых повторяется три раза?

  • Решение. 1-й случай. Варианты этого случая: 00:ХХ:ХХ, 11:ХХ:ХХ и 22:ХХ:ХХ, X - неизвест­ная цифра. Первые две цифры зафиксированы, тре­тья цифра (0, 1 или 2) может расположиться в четы­рех позициях, и так как 1



Задача №11.Продолжение

  • 2-й случай. Теперь рассмотрим варианты ab:XX:XX, где а ≡{0; 1}, 6 ≤ b ≤ 9; таких вариантов восемь, в каждом только одна комбинация ab:ab:ab, так как цифра больше 5 не может представлять десятки минут или секунд.

  • 3-й случай. Все остальные варианты (их 13): ab:XX:XX, где а ≡ {0; 1; 2}, 0 b 5, могут иметь следующий вид:

  • ab:aa:bb; ab:ab:ab; ab:ab:ba;

  • ab:ba:ab; ab:ba:ba; ab:bb:aa.

  • Всего возможно 6 13 = 78 вариантов.

  • Таким образом, общее количество вариантов составляет 60 + 8 + 78, или 146.

  • Ответ: 146 вариантов.



Задача №12

  • Задание:

  • На электронных часах высвечивается время: часы и минуты. Сколько времени в сутки на их табло присутствует хотя бы одна цифра 2? Найдите соответствующее время для остальных цифр: 0, 1, 3, 4, ...,9.



Решение

    Решение. На первом месте цифра 2 бывает в течение 4 часов от 20:00 до 00:00. В остальные 20 часов она бывает: а) 2 часа на втором месте - от 2:00 до 3:00 и от 12:00 до 13:00; б) в оставшиеся 18 ч цифра 2 бывает на третьем месте по 10 мин каждый час; в) а остальные 50 мин часа еще по 5 мин - на четвертом месте. Итого, по 15 мин в каждый из 18 часов, то есть 4 ч 30 мин. Всего получаем 4 + 2 + 4,5 = 10,5 ч. Рассуждая аналогично, получим время показа цифры на табло для всех случаев.

  • Ответ: для цифры 2 - 10,5 ч; 0 и 1 - по 16 ч; 3 - 8,25 ч; 4 и 5 - по 7,5 ч; для остальных - по 4,2 ч.



Задача №13

  • Задание

  • Разделите циферблат часов на равные (по сумме чисел) части. Приведите все способы.

  • Решение. Сумма всех чисел на циферблате равна 78. Найдем такую комбинацию х * у =78, где х и у - натуральные числа, х > 12 (поскольку число 12 так­же входит в какую-то часть), у > 1 - число частей.

  • Воспользуемся тем, что 78 - 2 3 13.

  • Варианты:

  • 1) х « 39, у - 2;

  • 2) х = 26, у - 3;

  • 3) х - 13, у =6.



Задача №14

  • Задание:

  • Сколько раз в сутки угол между стрелками часов равен данному углу а?

  • Решение. 1. Случай, когда а = 0 (стрелки совпадают), рассмотрен в задаче 4.

  • 2.Случай, когда а = 180°, рассмотрен в задаче 5.

  • 3.Рассмотрим случай, когда а отличается от крайних значений, то есть 0



Решение

  • а) Пусть по кратчайшей дуге стрелки удаляются (минутная стрелка дальше по ходу). Тогда (начиная с 12:00) угол между стрелками будет равен а в первый раз, когда часовая стрелка расположена в промежутке от 12:00 до 1:00, во второй раз - от 1:00 до 2:00 и т.д., всего 11 раз за оборот часовой стрелки, или 22 раза в сутки.

  • б) Пусть, наоборот, стрелки часов сближаются. Рассуждая аналогично, получим еще 22 раза в сутки.

  • В итоге, всего за сутки угол между стрелками будет равен (х 44 раза. Частный случай этой задачи рассмотрен в задаче 6.

  • Ответ: 22 раза при а равном 0 или 180° и 44 раза при других значениях а.



Задача №15

  • Задание:

  • Имеются песочные часы на 3 мин и на 5 мин. Отмерьте с их помощью промежуток времени в 1 мин.

  • Решение. Запустим часы одновременно. Когда пройдут 3 мин, перевернем эти часы, начнем новый отсчет времени. Когда пройдут 5 мин, на трехминут­ных часах к этому времени останется песка ровно на 1 мин. Конец отсчета времени - когда «остановят­ся» трехминутные часы. Действительно, 2*3-5 = 1.

  • Замечание. Можно рассмотреть эту задачу в об­щем виде: пусть первые часы на х мин, вторые - на у мин. Отмерить z мин. Решение этой задачи сводит­ся к решению диофантова уравнения z=nx- mу.



Задача №16

  • Задание:

  • (Задача заочной олимпиады для абитуриентов мехмата МГУ, 1999 г.) Минутную стрелку обломили так, что она перестала отличаться от часовой. Сколь­ко раз в сутки можно ошибочно считать время с ча­сов с такими стрелками, если при этом не разрешает­ся наблюдать за ходом часов?



Решение

    Разобьем циферблат на 12 часовых секторов (рис. 4). Пусть а - угол между часовой стрелкой и лучом, направленным к началу сектора, в котором находится часовая стрелка, (в - угол между минутной стрелкой и лучом, направленным к началу сектора, в котором находится минутная стрелка; оба угла измеряются в долях от величины сектора в 30°, значения а и в находятся в интервале , рас­смат­ри­ва­ет­ся его про­из­ве­де­ние на prev_min = a, при не­об­хо­ди­мо­сти (если по­лу­чен­ное про­из­ве­де­ние мень­ше зна­че­ния result) об­нов­ля­ет­ся зна­че­ние result. После этого в эле­мент спис­ка prev_min за­пи­сы­ва­ет­ся ми­ни­мум из счи­тан­но­го числа a[s] и prev_min, тем самым prev_min ста­но­вит­ся рав­ным min(a, a, … , a[s]). Далее, на каж­дом шаге в пе­ре­мен­ную next_num счи­ты­ва­ет­ся оче­ред­ной эле­мент по­сле­до­ва­тель­но­сти a[i], он пе­ре­мно­жа­ет­ся с prev_min, в ко­то­ром в тот мо­мент хра­нит­ся min(a, a, … , a), при не­об­хо­ди­мо­сти об­нов­ля­ет­ся пе­ре­мен­ная result, и далее в ре­зуль­та­те вы­пол­не­ния при­сва­и­ва­ния prev_min = min(prev_min[(i - 1) % s], next_num) зна­че­ние prev_min ста­но­вит­ся равно min(a, a, … , a[i]). Это зна­че­ние prev_min будет затем ис­поль­зо­ва­но через s шагов вы­пол­не­ния внеш­не­го цикла, т.е. когда будет счи­тан эле­мент a. При этом все эле­мен­ты счи­тан­ной по­сле­до­ва­тель­но­сти не со­хра­ня­ют­ся в списке.

    Пример 3. При­мер пра­виль­ной про­грам­мы на языке Python. Про­грам­ма эф­фек­тив­на и по времени, и по памяти

    result = 1000 * 1000

    N = int(input())

    prev_min = float(input())

    for i in range(1, s):

    prev_min[i] = min(float(input()), prev_min)

    for i in range(s, N):

    next_num = float(input())

    result = min(result, next_num * prev_min)

    prev_min = min(prev_min[(i - 1) % s], next_num)

    Пример 4. При­мер пра­виль­ной про­грам­мы на языке Паскаль.

    Программа эф­фек­тив­на и по времени, и по памяти

    В про­грам­ме на языке Паскаль, в от­ли­чие от про­грамм преды­ду­щих программ, на об­ра­бот­ку оче­ред­но­го числа тра­тит­ся время, про­пор­ци­о­наль­ное ве­ли­чи­не за­держ­ки (в дан­ной за­да­че – 6). Это ре­ше­ние менее эффективно, чем решения, при­ве­ден­ные выше. Од­на­ко по усло­вию за­да­чи оно также оце­ни­ва­ет­ся в 4 балла, так как время об­ра­бот­ки оче­ред­но­го числа не за­ви­сит от числа вве­ден­ных чисел.

    const s = 6; {требуемое рас­сто­я­ние между показаниями}

    a: array of real; {хранение по­ка­за­ний прибора}

    {k-е вве­ден­ное число за­пи­сы­ва­ем в ячей­ку a}

    a_: real; {ввод оче­ред­но­го показания}

    mn: real; {минимальное вве­ден­ное число}

    {не счи­тая 6 последних}

    m: real; {минимальное зна­че­ние произведения}

    { Пролог. Ввод пер­вых шести чисел}

    for i:=1 to s do

    a := a_

    {Ввод осталь­ных значений, поиск ми­ни­маль­но­го произведения}

    mn:= 1001; m:= 1000 * 1000+1;

    for i:= s + 1 to N do

    if a if a_ * mn a := a_