Форум программистов, компьютерный форум CyberForum.ru

Итерационное преобразование числа - C++

Восстановить пароль Регистрация
 
Aerarian
1 / 1 / 0
Регистрация: 28.06.2016
Сообщений: 78
07.07.2016, 13:28     Итерационное преобразование числа #1
На вход программе подается целое положительное число n. Если оно четное, делим на 2, если нечетное, то умножаем на 3 и прибавляем 1. С полученным числом делаем то же самое и так далее, пока не получим 1 (есть математическая недоказанная гипотеза Коллатца, которое утверждает, что при любом начальном числе всегда когда-нибудь да получится единица). Вам надо вывести последовательность всех промежуточных результатов до единицы.


Вход
5
7
2
1

Выход
5 16 8 4 2 1
7 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1
2 1
1


Огромное спасибо всем ответившим!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.07.2016, 13:28     Итерационное преобразование числа
Посмотрите здесь:

преобразование числа в строку C++
C++ Преобразование числа
C++ Преобразование символов в числа
Преобразование символов в числа C++
Преобразование символов в числа C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
shilko2013
 Аватар для shilko2013
237 / 214 / 115
Регистрация: 02.04.2016
Сообщений: 812
Завершенные тесты: 1
07.07.2016, 13:38     Итерационное преобразование числа #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
int main() {
 
    while (true) {
        int n;
        cin >> n;
        if (n < 0)
            break;
        cout << n;
        while (n != 1) {
            if (n % 2 == 0)
                n = n / 2;
            else
                n = n * 3 + 1;
            cout << " " << n;
        }
        cout << endl;
    }
    return 0;
}
_Ivana
2177 / 1382 / 124
Регистрация: 01.03.2013
Сообщений: 4,120
Записей в блоге: 2
07.07.2016, 19:19     Итерационное преобразование числа #3
C++
1
int f(int n) {std::cout<<n<<' '; return n==1 ? n : f(n%2 ? n*3+1 : n/2);}
shilko2013
 Аватар для shilko2013
237 / 214 / 115
Регистрация: 02.04.2016
Сообщений: 812
Завершенные тесты: 1
07.07.2016, 19:25     Итерационное преобразование числа #4
_Ivana, В какой книге вы это прочитали?)
_Ivana
2177 / 1382 / 124
Регистрация: 01.03.2013
Сообщений: 4,120
Записей в блоге: 2
07.07.2016, 19:44     Итерационное преобразование числа #5
shilko2013, чукча не Reader, чукча Writer
Yandex
Объявления
07.07.2016, 19:44     Итерационное преобразование числа
Ответ Создать тему
Опции темы

Текущее время: 14:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru