1 Востаннє редагувалося yuro4ka (01.06.2015 16:02:41)

Тема: Алгоритм

написати програму, в якій  за найменшу кількість операцій з числа 458 отримаємо 14 використовуючи тільки дві дії: множення числа на 2 і цілочисельне ділення на 10

2

Re: Алгоритм

Цілочислове ділення на 10:

num := num div 10

швидке множення на два:

num := num shl 1

,
де num - число

3

Re: Алгоритм

yuro4ka
А в чому, власне, у вас проблема?

Подякували: koala1

4 Востаннє редагувалося koala (01.06.2015 18:13:07)

Re: Алгоритм

Пане yuro4ka, будь ласка, визначіться, що вам треба. Варіанти такі:
1. Вам потрібна готова програма, ви готові платити гроші. Для цього є розділ "пропоную роботу".
2. Вам потрібна готова програма, гроші ви платити не збираєтеся. Для цього є розділ "смітник".
3. Вам потрібна ідея алгоритму. Для цього є розділ "алгоритми".
4. У вас є програма, яка чомусь не працює, але ви соромитеся (чи лінуєтеся) її просто так викладати. Тут немає телепатів.

Якщо ви за п.3, то найпростіше буде написати рекурсивну функцію, яка буде виконувати пошук потрібної комбінації операцій на задану глибину, і запускати її зі збільшенням глибини, доки не знайдеться комбінація.
Навмання - це 458*2*2*2*2*2/10/10/10