Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/72: Рейтинг темы: голосов - 72, средняя оценка - 4.72
6 / 6 / 0
Регистрация: 01.11.2012
Сообщений: 79
1

Определите, какое наименьшее число операций необходимо, чтобы получить из числа 1 число N

16.07.2013, 19:19. Показов 13922. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется калькулятор, который выполняет три операции:
1. Прибавить к числу X единицу.
2. Умножить число X на 2.
3. Умножить число X на 3.
Определите, какое наименьшее число операций необходимо для того, чтобы получить из числа 1 заданное число N. Также вывести последовательность операций, например 1,2,3.

Входные данные: Число N, не превосходящее 106.
Выходные данные: Наименьшее количество искомых операций.
2
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.07.2013, 19:19
Ответы с готовыми решениями:

Определить минимальное количество операций необходимо для того, чтобы сделать число a равным числу b
Помогите пож-ста срочно

Какое минимальное число букв необходимо заменить в слове Х, с тем, чтобы оно стало перевертышем?
Доброго времени суток! Крайне необходима помощь экспертов в Pascal Вот задания: 4. Какое...

Дано натуральное число n, получить наименьшее число вида 2^r, прувосходящее n
Дано натуральное число n, получить наименьшее число вида 2^r, прувосходящее n!!!!!!!!!!!!!!!!!!

Дано натуральное число n. Получить наименьшее число вида 2х, превосходящее n
Дано натуральное число n. Получить наименьшее число вида 2х, превосходящее n

6
404 / 360 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
16.07.2013, 19:20 2
Цитата Сообщение от Ilya90s Посмотреть сообщение
Входные данные: Число N, не превосходящее 106.
тут должно быть 10^6
а вообще могу скинуть решение на С если нужно
0
6 / 6 / 0
Регистрация: 01.11.2012
Сообщений: 79
16.07.2013, 20:26  [ТС] 3
Да 10^6 ( мне желательно на паскале )
0
154 / 154 / 81
Регистрация: 16.06.2012
Сообщений: 314
16.07.2013, 22:04 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Пробуем
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
var n , i , am : longint;
    a , res : array[1..1000000] of longint;
 
begin
    read(n);
    a[1] := 0;
    for i := 2 to n do
        a[i] := maxint;
    for i := 2 to n do begin
        if a[i] > a[i - 1] + 1 then
            a[i] := a[i - 1] + 1;
        if i mod 2 = 0 then
            if a[i] > a[i div 2] + 1 then
                a[i] := a[i div 2] + 1;
        if i mod 3 = 0 then
            if a[i] > a[i div 3] + 1 then
                a[i] := a[i div 3] + 1;
    end;    
    writeln(a[n]);
    am := 0;
    i := n;
    while i <> 1 do begin
        inc(am);
        if (i mod 3 = 0) and (a[i div 3] + 1 = a[i]) then begin
                res[am] := 3;
                i := i div 3;
        end else if (i mod 2 = 0) and (a[i div 2] + 1 = a[i]) then begin
                res[am] := 2;
                i := i div 2;
        end else begin
            res[am] := 1;
            i := i - 1;
        end;                        
    end;
    for i := am downto 1 do
        writeln(res[i]);
end.
1
6 / 6 / 0
Регистрация: 01.11.2012
Сообщений: 79
16.07.2013, 22:24  [ТС] 5
Спасибо большое
0
0 / 0 / 0
Регистрация: 15.02.2016
Сообщений: 4
21.02.2016, 23:13 6
скиньте пожалуйста на python
0
0 / 0 / 0
Регистрация: 01.04.2020
Сообщений: 36
04.04.2020, 10:36 7
скинь на c, пожалуйста

Добавлено через 3 минуты
igor_kz, можешь обьяснить, как работает, пожалуйста
0
04.04.2020, 10:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.04.2020, 10:36
Помогаю со студенческими работами здесь

Дано натуральное число n получить наименьшее число вида 2^x превосходящее n
Дано натуральное число n получить наименьшее число вида 2^x превосходящее n. Не получается. ...

Дано натуральное число n. Получить наименьшее число заданного вида
Дорогие друзья, помогите пожалуйста решить задачу в паскале. Дано натуральное число n. Получить...

Дано натуральное число N. Получить наименьшее число вида 4k, меньшее N.
Дано натуральное число N. Получить наименьшее число вида 4k, меньшее N.

Переставить цифры числа так чтобы получилось наименьшее число, записанное этими же числами
В данном натуральном числе переставить цифры таким образом что бы получилось найменшое число,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru