Вітаю Вас, Гость
[ Нові повідомлення · Учасники · Правила форуму · Пошук · RSS ]
Сторінка 1 з 11
Форум » Інтернет-олімпіада 2014 » Перший тур » Обговорення задач
Обговорення задач
KulAlexДата: Вівторок, 30.09.2014, 09:44 | Повідомлення # 1
Сержант
Група: Администраторы
Повідомлень: 28
Статус: Offline
Після закінчення туру можна всім бажаючим обговорити задачі і публікувати свої розв'язки.
 
Leon_27Дата: Вівторок, 30.09.2014, 09:44 | Повідомлення # 2
Рядовой
Група: Учасник
Повідомлень: 5
Репутація: 0
Статус: Offline
То яка логіка розмірковувань задачі "Е"?
 
KulAlexДата: Вівторок, 30.09.2014, 09:44 | Повідомлення # 3
Сержант
Група: Администраторы
Повідомлень: 28
Статус: Offline
Цитата Leon_27 ()
То яка логіка розмірковувань задачі "Е"?
Ділимо на три рівні (є варіанти всі три рівні, дві рівні у третій +- одна монета) частини. Зважуємо дві однакових і робимо висновки.
 
VitZДата: Вівторок, 30.09.2014, 09:44 | Повідомлення # 4
Рядовой
Група: Журі
Повідомлень: 15
Репутація: 0
Статус: Offline
Думаю, що тепер тут доцільно публікувати свої оригінальні ідеї розв"язків задач туру - це буде цікаво.
 
perunandrejДата: Вівторок, 30.09.2014, 16:51 | Повідомлення # 5
Рядовой
Група: Учасник
Повідомлень: 7
Репутація: 2
Статус: Offline
Цитата Leon_27 ()
То яка логіка розмірковувань задачі "Е"?

Визначаємо кількість зважувань 

з 3 монет фальшиву можна визначити за одне зважування (вона буде або одна з зважуваних, або в залишку) 
з 9 монет можна визначити за 2 зважування 
з 27 - за 3 зважування, і т. д. 

Разом щоб визначити кількість зважувань - n для A - кількості монет, необхідно виконання умови: 
3n> = A, або logA / log3 <= n, 
де 
A - кількість монет, 
n - кількість зважувань (округлене в більшу сторону ціле) 
log - десятковий логарифм. 

наприклад: 
для 26-ти монет потрібно log26 / log3 = 2.966, n = 3 зважувань 
для 1563-х монет - log1563 / log3 = 6.694 n = 7 зважувань
 
kros134Дата: Неділя, 12.10.2014, 20:51 | Повідомлення # 6
Рядовой
Група: Учасник
Повідомлень: 6
Репутація: 0
Статус: Offline
Задача Е, найкоротша : )
var n,f,k:longint;
begin
 read(n);
 f:=1;
 while f < n do begin
  f:=f * 3;
  k:=k+1;
  if f = n then break;
 end;
 writeln(k);
end.
 
Форум » Інтернет-олімпіада 2014 » Перший тур » Обговорення задач
Сторінка 1 з 11
Пошук: