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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Aerarian
1 / 1 / 0
Регистрация: 28.06.2016
Сообщений: 80
#1

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

07.07.2016, 13:28. Просмотров 225. Ответов 4
Метки нет (Все метки)

На вход программе подается целое положительное число 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


Огромное спасибо всем ответившим!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.07.2016, 13:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Итерационное преобразование числа (C++):

Итерационное вычисление частных производных - C++
доброго времени суток в задачах по численным методам столкнулся с необходимостью вычисления частных производных сами вычисления "в...

Преобразование числа - C++
Дано натуральное число. От этого числа отнимем суму его цыфр. От нового числа опять отнимем суму его цыфр. Так будем делать до тех пор,...

Преобразование в числа - C++
Добрый день! Подскажите пожалуйста, как можно сделать.. В функцию передается строка - fun("1/4") {...} Как можно получить отдельно...

Преобразование числа в строку - C++
Всем доброго времени суток, помогите пожалуйста получить из числа 12345679 (int), строку string = {1, 2, 3, 4, 5, 6, 7, 8, 9}. т.е....

Преобразование числа в строку - C++
Как преобразовать строку char *s, в которой записано число(возможно со знаком минус), в формат типа long 1) в строке десятичное число ...

Преобразование символов в числа - C++
Дан текст, имеющий вид: dl + d2 + ... + dn, где di — цифры. Вычислить записанную в тексте сумму. Долго ломаю голову но выходит фигня....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
shilko2013
240 / 217 / 117
Регистрация: 02.04.2016
Сообщений: 827
Завершенные тесты: 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;
}
0
_Ivana
3149 / 1777 / 152
Регистрация: 01.03.2013
Сообщений: 4,981
Записей в блоге: 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);}
0
shilko2013
240 / 217 / 117
Регистрация: 02.04.2016
Сообщений: 827
Завершенные тесты: 1
07.07.2016, 19:25 #4
_Ivana, В какой книге вы это прочитали?)
0
_Ivana
3149 / 1777 / 152
Регистрация: 01.03.2013
Сообщений: 4,981
Записей в блоге: 2
07.07.2016, 19:44 #5
shilko2013, чукча не Reader, чукча Writer
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.07.2016, 19:44
Привет! Вот еще темы с ответами:

Быстрое преобразование числа - C++
Здравствуйте уважаемые программисты! Подскажите пожалуйста как быстрее всего получить из положительного числа единицу, а из отрицательного...

Преобразование символов в числа - C++
Дан текст, имеющий вид: dl + d2 + ... + dn, где di — цифры. Вычислить записанную в тексте сумму.

Преобразование числа в строку!!!! - C++
Как в VS преобразовать число в строку!!! Через itoa что-то не выходит!!!

Преобразование символов в числа - C++
Дан текст, содержащий цифры. Вывести на экран наибольшую цифру. Помогите пожалуйста))


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.07.2016, 19:44
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru