(Джерело: http://www.olymp.vinnica.ua/index_ua.php?lng=ua&cid=104)
Приклади.
Введення: 0 0
Виведення: 0
Введення: 1 1
Виведення: 4
Задача. Стрілки годинника рухаються з постійним кутовими швидкостями h годин m хвилин. Найти число повних хвилин до найближчого моменту, в яких стрілки співвпадуть.
Технічні умови. Програма читає два цілих числа h та m з клавіатури. Програма виводить. ціле число хвилин на екран.
Приклади.
Введення: 0 0
Виведення: 0
Введення: 1 1
Виведення: 4
Розв'язання*.
Для розв'язування задачі скористаємося годинником ОС. Будемо по черзі від 0:00 до 12:00 співставляти стрілки годинника і записувати час. Отримаємо 11 співпадань, які розділять 12 годин на 12 проміжків. Так як нам потрібно знайти число повних хвилин, а також для зручності, переведемо ввведений час та часи співпадань у хвилини. Хвилини співпадань будемо зберігати в масиві, в який для замкнення кільця додамо 13-й елемент - 720 хвилин = 0:00. Отже, якщо введений час потраплятиме в один із проміжків, то різниця між кінцем інтервалу і введеним часом буде шуканою, інакше стрілки вже співпадають.
Запишемо алгоритми мовами програмування.
Free Pascal:
Const X : Array [0..11] Of 0..720 =
(0, 65, 130, 196, 261, 327, 392, 458, 523, 589, 654, 720);
Var H, M, I : Integer;
Begin
Read (H, M);
M := (H mod 12)*60 + M;
H := 0;
For I := 1 To 11 Do
If (X[I-1] < M) And (M < X[I])
Then H := X[I] - M;
Write (H);
End.
C++:
#include <iostream>
using namespace std;
int main()
{
const int x[] =
{0, 65, 130, 196, 261, 327, 392, 458, 523, 589, 654, 720};
int h, m;
cin >> h >> m;
m=(h%12)*60+m, h=0;
for (int i=1; i<=11; i++)
if ((x[i-1]<m)&&(m<x[i]))
h=x[i]-m;
cout << h;
}
using namespace std;
int main()
{
const int x[] =
{0, 65, 130, 196, 261, 327, 392, 458, 523, 589, 654, 720};
int h, m;
cin >> h >> m;
m=(h%12)*60+m, h=0;
for (int i=1; i<=11; i++)
if ((x[i-1]<m)&&(m<x[i]))
h=x[i]-m;
cout << h;
}
* Розв'язання, хоча воно вірне, не дуже мені подобається...
Casino, Poker, and Sports Betting | drmcd
ВідповістиВидалитиGet casino, poker, and sports 광명 출장마사지 betting information at 강원도 출장안마 a licensed 광명 출장마사지 casino. Visit us for casino 보령 출장안마 games, poker, and 태백 출장마사지 sports betting information today.