|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.10.2021, 17:34 | #1 |
Пользователь
Регистрация: 27.10.2021
Сообщений: 13
|
C, Гипотеза Коллатца
При компиляции ошибку не выдаёт, но при выполнении ничего не выводит. При нажатии любых клавиш появляются разные символы.
Задание: Возьмём любое положительное целое число n. Если n парное число, поделим надвое, получим таком образом n/2. Если n непарное число, умножим на 3 и прибавим 1, получив таким образом 3n+1. Над полученным числом выполняем те же самые действия, и так далее. Гипотеза Коллатца (3n+1 дилемма, сиракузская проблема) — одна из нерешённых проблем математики. Получила широкую известность благодаря простоте формулировки. Названа по имени немецкого математика Лотара Коллатца. Парадокс заключается в том, что независимо от того, какое n мы выберем - конечная последовательно всегда когда-то придёт к 1. Например, для числа n=20 последовательно чисел выглядит так: 20, 10, 5, 16, 8, 4, 2, 1 Создайте функцию int collatz(const int number) с параметром: const int number - Положительное ненулевое число (начало последовательности). Функция вернет длину последовательности для числа n. Для приведённого примера числу 20 соответствует результат 8. Function Call Example printf("%d\n", collatz(20)); // prints: 8 printf("%d\n", collatz(35)); // prints: 14 Имею такой код: Код:
Последний раз редактировалось BDA; 27.10.2021 в 18:18. |
27.10.2021, 18:20 | #2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,322
|
У вас получился бесконечный цикл. Раз параметр функции константный, то заведите новую переменную, запишите в нее значение number и её меняйте в цикле.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
27.10.2021, 18:30 | #3 |
Пользователь
Регистрация: 27.10.2021
Сообщений: 13
|
BDA, добавил переменную, но результат тот же, я не знаю в каком месте делаю не правильно, не могли бы вы мне указать на мою ошибку, Спасибо.
|
27.10.2021, 18:33 | #4 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,322
|
Внутри цикла не надо делать int j, а просто j.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
27.10.2021, 18:35 | #5 |
Пользователь
Регистрация: 27.10.2021
Сообщений: 13
|
BDA, <большое спасибо за предоставленную помощь
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[Python] Гипотеза Гольдбах | Чертенок7 | Помощь студентам | 7 | 04.07.2017 10:18 |
Гипотеза Симона | Lotos_45 | JavaScript, Ajax | 1 | 06.03.2013 11:06 |
Гипотеза Римана | kolobochino | Общие вопросы C/C++ | 0 | 27.11.2012 21:52 |
ABC гипотеза. Вопрос простой. А вы понимаете смысл этой и около этой гипотез и теорем? :) | Alar | Свободное общение | 5 | 17.09.2012 17:51 |