Показать сообщение отдельно
Непрочитано 31.05.2014, 20:19   #15
Пользователь

По умолчанию Re: Задача на логику

По времени не провалит там каждый проход число N делится на 2 и больше.
Звезда С как раз подходит. Достаточное условие чтобы Фернандо считал фигуру звездой - это построить кривую через все точки по заданным правилам.

Пошагово прошел по коду из примера.
Например при N = 8 происходит следующее:

ans = 1;
i = 2;
aux = 1;

1 проход: N = N / i = 4; aux = aux * i = 1 * 2 = 2;
2 проход: N = N / i = 2; aux = aux * i = 2 * 2 = 4;
3 проход: N = N / i = 1; aux = aux * i = 4 * 2 = 8;

ans = ans * (aux - aux/i) = 1 * (8 - 8/2) = 4;

ans = (ans + 1)/2 = (4 + 1)/2 = 5/2 = 2;//целочисленное округление

ответ - 2


Каждый проход мы как бы делим окружность пополам и постепенно получаем фигуры с рисунка D, B, A.



Но как на основании этого делается вывод, что можно построить именно 2 разные звезды при k = 1 (звезда A) и k = 3 (звезда C) я не пойму. Но работает правильно.

Последний раз редактировалось flopix; 31.05.2014 в 23:05.
flopix вне форума Ответить с цитированием
Сказали спасибо: