Форум
Написать нам
  • Страница 1 из 1
  • 1
Форум MMB » Всё остальное » Свободное общение » Нужна формула для решения задачки.
Нужна формула для решения задачки.
as-masterДата: Воскресенье, 21 Сентября 2008, 23:27 | Сообщение # 1
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
Условие: с начала некоторого года прошло n месяцев и два дня.
Определить, какой теперь месяц (номер месяца).

Нужно написать формулу. Кто?


Да пребудет с вами ММВ!
 
DEMBELДата: Понедельник, 22 Сентября 2008, 12:24 | Сообщение # 2
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
не понял ниче. Если с начала года уже прошло n месяцев, то начался месяц (n+1),в котором и прошли эти два дня, так следует из твоего условия, так чтоли?



Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
as-masterДата: Понедельник, 22 Сентября 2008, 12:32 | Сообщение # 3
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
ну да, начался месяц n+1, в котором прошли еще два дня (как мне кажется, эти дни ничего не меняют).
Но формула n+1 в чистом виде не годится, так как она не дает правильного ответа, когда n>12


Да пребудет с вами ММВ!
 
DEMBELДата: Понедельник, 22 Сентября 2008, 12:37 | Сообщение # 4
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
а ну щас подумаем, хотя количество пройденных дней меньше 30 ниче не меняет получается



Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
toizyДата: Понедельник, 22 Сентября 2008, 12:46 | Сообщение # 5
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
Если я правильно понял, то начало отсчёта роли никакой не играет. Дни - тоже, поскольку это константа (2 дня). Брать во внимание нужно только число n. Мой вариант:

m = (n mod 12) + 1


Жизнь оказалась не такой уж и забавной, как поначалу...

Сообщение отредактировал toizy - Понедельник, 22 Сентября 2008, 13:07
 
as-masterДата: Понедельник, 22 Сентября 2008, 12:47 | Сообщение # 6
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
DEMBEL, про 30 никто ничего не говорил.
Насколько я понимаю, в задаче имеется только целое число месяцев n -
независимо от того, сколько в месяце дней. То есть - прошло 12 месяцев,
значит, опять точно 1 января. Разве может быть иначе?...


Да пребудет с вами ММВ!
 
toizyДата: Понедельник, 22 Сентября 2008, 13:08 | Сообщение # 7
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
Quote (DEMBEL)
количество пройденных дней меньше 30 ниче не меняет

абсолютно. Как и начало отсчёта


Жизнь оказалась не такой уж и забавной, как поначалу...
 
as-masterДата: Понедельник, 22 Сентября 2008, 13:15 | Сообщение # 8
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
Ну начало отсчета как раз может играть роль, если есть еще 2 дня.
Если началом отсчета будет являться последний день месяца, то поправка в два дня
роль свою сыграет.

Однако в задачке же вроде говорится, что началом отсчета является начало года,
а это нельзя понимать иначе, как день 1 января.


Да пребудет с вами ММВ!
 
toizyДата: Понедельник, 22 Сентября 2008, 13:18 | Сообщение # 9
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
Quote (as-master)
Ну начало отсчета как раз может играть роль

По условию - нет, ибо считаем с начала года. Если бы начало могло быть любым, то играло бы. Условия таковы, что никакой роли не играет ни начало отсчёта, ни количество дней, потому что эти величины постоянные, а играет роль только число месяцев. И всё.

Начало не учитываем, потому что считаем от начала года. Дни тоже не учитываем, потому что их два. Просто прибавляем 1 к остатку по модулю, это и будет текущий месяц. Всё же вроде просто, в чём проблема-то? smile


Жизнь оказалась не такой уж и забавной, как поначалу...
 
as-masterДата: Понедельник, 22 Сентября 2008, 13:24 | Сообщение # 10
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
Чтобы закрыть тему, приведу свой вариант формулы, который будет более понятен
не программистам. А особенно будет понятен любителям ММВ.

mon = (n+1) - 12*[INT(n/12)]


Да пребудет с вами ММВ!
 
DEMBELДата: Понедельник, 22 Сентября 2008, 13:30 | Сообщение # 11
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
гы я только что тоже это соорудил
m=n-(12*(INT(n/12)))
только зачем n+1




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
as-masterДата: Понедельник, 22 Сентября 2008, 13:34 | Сообщение # 12
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
Quote (DEMBEL)
только зачем n+1

Ну а как же?
Если прошел ОДИН месяц (то есть n=1) то формула даст номер ДВА, то есть февраль.
А в твоем варианте так и останется ОДИН - то есть январь.
Мы же начинаем отсчет не с нуля - нет нулевого месяца!!! А с единицы :)

А вообще - спасибо, главное что мы мыслим одинаково, и... одинаково правильно :)


Да пребудет с вами ММВ!
 
DEMBELДата: Понедельник, 22 Сентября 2008, 14:06 | Сообщение # 13
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
а ну да, согласен

Добавлено (22 Сентябрь 2008, 14:06)
---------------------------------------------
это еще что, вот я уже моск второй день ломаю,как сделать так чтобы когда наводишь курсор на кнопачку
плавно появлялась подсветка (b2), а когда убираешь - плавно убиралась.
кнопачка - это 3 битмапа друг на друге(b1-b2-b3 - три состояния для кнопки), сверху hotspot, при наведении
вызываем скрипт, а там танцы с бубном вокруг переменной 'n' в ImageOpacity("b2","n"), Придумал 2 варианта реализации -
1. очевидно, с использованием For... Next (работает криво при убирании курсора, видимо скрипты мешают друг другу)
2.без цикла вообще, со ScriptTimer (работает корректнее, но надо "отшлифовать")
короче многа букаф писать, и так понятно я думаю о чем речь, я просто хочу узнать может ктото уже это делал когдато,
или мне продолжать мучать моск? поясните пожалуйста.




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
as-masterДата: Понедельник, 22 Сентября 2008, 14:59 | Сообщение # 14
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
DEMBEL, создавай новую тему в разделе Общие вопросы по ММВ - там и обсудим.

Да пребудет с вами ММВ!
 
Форум MMB » Всё остальное » Свободное общение » Нужна формула для решения задачки.
  • Страница 1 из 1
  • 1
Поиск: