Форум - кімната f; r ідеї

Що є більш ефективним?

ідеї

Що є більш ефективним?

Внесок від deung »Пн, грудень 10, 2012 18:46

Нещодавно на уроці інформації перед нами стояло завдання написати програму насупереч дієті.
Програма повинна розрахувати тривалість процесу схуднення, якщо ви втрачаєте 2% ваги тіла на тиждень.

Оскільки я хотів бути особливо розумним зі своїм сусідом, звичайно, ми розглядали все це як експоненційну функцію і думали наступне.

Re: що є більш ефективним?

Внесок від клоїднерукс »Пн, грудень 10, 2012 19:14

Ви не можете так відповісти на це. Проблема полягає в тому, як компілятор/інтерпретатор виконує код.
Тут ми протестували код один проти одного: http: //www.proggen.org/doku.php? Id = project: wordcount
Результатом стало те, що я написав код, який компілятор реалізував настільки добре, навіть без додаткових оптимізацій, що потрапив до трійки найкращих, тоді як "оптимізований" код був повільнішим.

Звичайно, можна приблизно оцінити, скільки часу триватиме щось. Ваше рішення з логарифмом має майже постійний час роботи, незалежно від цифр. Цикл триватиме довше і довше, оскільки різниця між початковою та кінцевою вагою збільшується, і він забезпечує точне визначення лише одного тижня.

Але незалежно від часу виконання, я бачу рішення з логарифмом як більш розумний підхід, оскільки в циклах абсолютно немає потреби, і логарифм працює краще, особливо для великих чисел.
Крім того, ви також надали підтвердження правильності результату.