:: Игры Разума
Часы
ry
Автор

Сообщений: 2113
Дата регистрации: 24.09.2007
Сегодня с утра посмотрел на часы на микроволновке, и в сонном мозгу родилась такая задача:
Если цифровые часы освещают темную комнату (светятся цифры, а не фон), то в какое время суток в комнате будет светлее всего? Пустой старший разряд отображается только в минутах.
Задачу вроде простая, при помощи FoxPro легко решается , но интересно, есть ли для нее какой-нибудь хитрый алгоритм кроме перебора значений?
Ratings: 0 negative/0 positive
Re: Часы
Goodwin

Сообщений: 3539
Откуда: Омск
Дата регистрации: 03.05.2006
В смысле "в какое время суток"?
Момент пиковой мощности? 20:08:08
Или суммарной?
Если день/ночь, то днём светлее будет:
часовая часть светлее светит,
а минутно/секундная каждый час одно и то же показывает.


------------------
Что мы знаем о лисе?
Ничего. И то не все.
(С)Б. Заходер
Ratings: 0 negative/0 positive
Re: Часы
Влад Колосов

Сообщений: 22664
Откуда: Ростов-на-Дону
Дата регистрации: 05.05.2005
В теории так, а реально - зависит от технической реализации. Например, при подключении дополнительных сегментов индикатора их яркость может падать из-за ограничения общего тока.


------------------
Совершенство - это не тогда, когда нельзя
ничего прибавить, а тогда, когда нечего убавить.
Ratings: 0 negative/0 positive
Re: Часы
ry
Автор

Сообщений: 2113
Дата регистрации: 24.09.2007
Все верно, 20:08:08 (или 20:08, если секунды не отображаются). Внешнее освещение и потеря яркости сегментов игнорируются. Просто интересно стало, есть ли какой-нибудь специальный алгоритм для такого расчета. Я решал простым перебором:
DIMENSION aSegments(10) && Количество сегментов в цифрах от 0 до 9
STORE 2 TO aSegments(2)
STORE 3 TO aSegments(8)
STORE 4 TO aSegments(5)
STORE 5 TO aSegments(3),aSegments(4),aSegments(6)
STORE 6 TO aSegments(1),aSegments(7),aSegments(10)
STORE 7 TO aSegments(9)
nMaxSegments=0
FOR i=0 TO 23
IF nMaxSegments#MAX(nMaxSegments,aSegments(MOD(i,10)+1)+IIF(i>9,aSegments(INT(i/10)+1),0))
nMaxSegments=aSegments(MOD(i,10)+1)+IIF(i>9,aSegments(INT(i/10)+1),0)
nMaxHour=i
ENDIF
ENDFOR
FOR i=0 TO 59
IF nMaxSegments#MAX(nMaxSegments,aSegments(MOD(i,10)+1)+IIF(i>9,aSegments(INT(i/10)+1),0))
nMaxSegments=aSegments(MOD(i,10)+1)+IIF(i>9,aSegments(INT(i/10)+1),0)
nMaxMinute=i
ENDIF
ENDFOR
? LTRIM(STR(nMaxHour))+':'+LTRIM(STR(nMaxMinute))
С секундами аналогично.
Ratings: 0 negative/0 positive
Re: Часы
ssa

Сообщений: 12999
Откуда: Москва
Дата регистрации: 23.03.2005
ry
Если цифровые часы освещают темную комнату (светятся цифры, а не фон), то в какое время суток в комнате будет светлее всего?
В любой после временного отключения энергии. Будут гореть все сегменты. В зависимости от модели.

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Часы
Taran

Сообщений: 13623
Откуда: Красноярск
Дата регистрации: 16.01.2008
ry
...то в какое время суток в комнате будет светлее всего? ...
единственное решение - люксометр! (или как его там)
Ratings: 0 negative/0 positive
Re: Часы
Goodwin

Сообщений: 3539
Откуда: Омск
Дата регистрации: 03.05.2006
ry
Я решал простым перебором
Суровое решение


------------------
Что мы знаем о лисе?
Ничего. И то не все.
(С)Б. Заходер
Ratings: 0 negative/0 positive
Re: Часы
Влад Колосов

Сообщений: 22664
Откуда: Ростов-на-Дону
Дата регистрации: 05.05.2005
Чем только не займешься - лишь бы мусор не выносить!


------------------
Совершенство - это не тогда, когда нельзя
ничего прибавить, а тогда, когда нечего убавить.
Ratings: 0 negative/0 positive
Re: Часы
Taran

Сообщений: 13623
Откуда: Красноярск
Дата регистрации: 16.01.2008
Goodwin
В смысле "в какое время суток"?
Момент пиковой мощности? 20:08:08
Или суммарной?
Если день/ночь, то днём светлее будет:
часовая часть светлее светит,
а минутно/секундная каждый час одно и то же показывает.
или все-таки 08:08:08?
Ratings: 0 negative/0 positive
Re: Часы
ry
Автор

Сообщений: 2113
Дата регистрации: 24.09.2007
Taran
Goodwin
В смысле "в какое время суток"?
Момент пиковой мощности? 20:08:08
Или суммарной?
Если день/ночь, то днём светлее будет:
часовая часть светлее светит,
а минутно/секундная каждый час одно и то же показывает.
или все-таки 08:08:08?
Я в условии написал, что старший разряд в часах не светится, только в минутах. Т.е. утром отображает 8:08.
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 6 (Гостей: 6)

© 2000-2024 Fox Club 
Яндекс.Метрика