Описание тега collatz

Гипотеза Коллатца - это гипотеза о том, что определенный алгоритм всегда завершается. Алгоритм сформулирован следующим образом: начиная с некоторого положительного целого числа n, разделите n на два, если оно четное, и в противном случае утроите n и добавьте единицу. Алгоритм завершается, когда n достигает единицы. В настоящее время остается открытым вопрос, прекращается ли это для всех положительных целых чисел. Это также называется Последовательностью Града.
1 ответ

Haskell: проблема преобразования результата деления в целочисленный тип

Я изучаю Хаскель и застрял, пытаясь понять систему типов. Я пытаюсь написать функцию, которая возвращает длину серии 'Half or Three Plus One' для ввода. Вот моя попытка использования функции с использованием рекурсивного подхода (функция действитель…
17 ноя '10 в 09:45
1 ответ

Что не так с моей "гипотезой Коллатца"?

Итак, я просто пытался создать цикл для запуска формулы "3n+1", и когда я ввел отрицательное число, я застрял в бесконечном цикле с остатками 0 и -1. Это правильно или в моем коде чего-то не хватает? Вот мой код: Scanner scan = new Scanner(System.in…
10 янв '16 в 04:41
1 ответ

Последовательность Коллатца числа

Я пытаюсь найти последовательность Коллатца для числа. Следующий код запускается в бесконечный цикл для номера 113383. int collatz(long number) { int length = 1; //length of the sequence while (number != 1) { printf("%ld-", number); if ((number % 2)…
31 авг '13 в 02:27
1 ответ

Кольцевая структура Collatz

Я пытаюсь создать структуру Collatz, которая спрашивает пользователя, сколько раз он хотел бы запустить ее. Затем он циклически увеличивает код каждый раз на 3 (n = n + 3). Хотя код частично работает, он продолжает повторять предыдущий процесс, кото…
08 окт '16 в 12:54
5 ответов

Почему петля умирает? (Гипотеза Коллатца)

Я пытаюсь некоторые математические операции с Java, который проверяет число, если его (не) даже и изменить его, пока он достигает 1. Я пытаюсь запустить цикл 999999 раз, кажется, он застрял примерно в 120000 раз. Ну, это не остановка с исключением, …
27 сен '13 в 14:06
2 ответа

Реализация collatz-списка с использованием Prolog

Я пытаюсь создать функцию под названием collatz_list в прологе. Эта функция принимает два аргумента, первый из которых является числом, а второй в списке. Этот список будет моим выводом этой функции. Итак, вот моя функция: collatz_list(1,[1]). colla…
08 дек '12 в 02:55
1 ответ

Новичок в Haskell: ошибка "Нет экземпляра для... возникающего из..."

Моя цель - написать функцию, которая вычисляет максимальное число Коллатца ниже определенного числа 'n'. (Это вопрос проекта Эйлера для тех, кто знаком.) Некоторый контекст: число Коллатца для данного целого числа равно длине последовательности Колл…
02 окт '14 в 01:58
2 ответа

Получение ошибки во время выполнения против судьи онлайн-программирования

Итак, вот мой код для задачи 3n+1 на UVa. Он отлично работает на моем компьютере в Eclipse AFAIK, однако, я продолжаю получать ошибку времени выполнения против судьи UVa. К сожалению, судья не сообщает мне, какие входные данные он использует, и не п…
23 янв '14 в 21:56
1 ответ

UVA 3n+1 (проб 100), что не так в моей программе C++

Я пытался решить проблему 3n+1 (UVa 100), вот мой код, но, согласно онлайн-оценке UVa, моя программа дает неправильный ответ, мой код прошел все тестовые случаи, о которых я могу думать, но не смог определить, что не так, пожалуйста Помоги мне найти…
19 мар '15 в 06:08
3 ответа

Функция Коллатца в схеме

Так что я пытаюсь решить функцию Коллатца итеративно в схеме, но мои тесты продолжают отображаться как (define (collatz n) (define (collatz-iter n counter) (if (<= n 1) 1 (if (even? n) (collatz-iter (/ n 2) (+ counter 1)) (collatz-iter (+ (* n 3)…
10 окт '13 в 01:21
2 ответа

Почему хвостовая рекурсивная гипотеза Коллатца вызывает переполнение стека в Схеме?

Я написал гипотезу Коллатца на схеме: (define C (lambda (n) (cond ((eq? n 1) 1) ((even? n) (C (/ n 2))) (else (C (+ (* n 3) 1)))))) Это хвостовой рекурсивный вызов, но при вызове я получаю переполнение стека (C 121): guile> (trace C) (C) guile&gt…
16 мар '12 в 08:13
1 ответ

3n+1 мкА дает WA

Мой первоначальный вопрос был немного расплывчатым, так что вот отредактированный вопрос. Задача 3n+1 uVa основана на гипотезе Коллатца. Рассмотрим любое положительное целое число "n". Если он четный, разделите его на 2. Если он нечетный, умножьте е…
29 авг '16 в 19:32
1 ответ

Как исправить мой код последовательности Коллатца, который превышает правило 1 минуты?

Резюме Здравствуйте все. Я пытаюсь решить относительно простую проблему, связанную с гипотезой Коллатца. Прежде всего, проблема заключается в следующем: Следующая итерационная последовательность определена для набора натуральных чисел: n → n / 2 (n…
18 фев '19 в 22:27
2 ответа

Collatz - максимальное количество шагов и соответствующее количество

Я пытаюсь написать функцию Scala, которая принимает верхнюю границу в качестве аргумента и вычисляет шаги для чисел в диапазоне от 1 до этой границы. Он должен был вернуть максимальное количество шагов и соответствующее количество, которое требует с…
13 ноя '17 в 20:41
3 ответа

Для цикла, который не увеличивается или тест не завершается

У меня есть этот раздел кода, который должен найти последовательность Коллатца всех целых чисел в заданном диапазоне, определенном пользовательским вводом. Проблема в том, что в for петли, current_number никогда не увеличивается или во внутреннем wh…
17 сен '13 в 13:29
1 ответ

Как оптимизировать эту программу на Haskell?

Я использую следующий код для запоминания общего времени остановки функции Collatz, используя монаду состояния для кэширования пар ввода-результата. Дополнительно snd часть состояния используется для отслеживания входного значения, которое максимизи…
15 янв '15 в 00:25
1 ответ

Памятная последовательность Коллатца

Я разместил тот же вопрос в CodeReview, но не смог получить ответ. поэтому я пытаюсь везти здесь, в SO. Вот одна из моих программ, которые использовали мемоизацию и массив для улучшения производительности и использования памяти. Производительность к…
09 мар '16 в 13:20
3 ответа

Вернуть не выход рекурсивный метод, как ожидалось - C#

Это должно быть довольно простым. Я чувствую, что мне не хватает чего-то явно очевидного, но я уже давно смотрю на это. У меня есть рекурсивный метод создания последовательности Коллатца (использующий в качестве практики рекурсии). Однако, как тольк…
10 сен '18 в 13:59
1 ответ

Предикат Коллатца в Прологе

Я застрял с некоторыми упражнениями Пролог. Я должен написать предикат collatz2(X,N), который, предполагая, что мы знаем, что такое X, возвращает N, который является индексом (начиная с 1) для результата 1. 'collatz2' - это функция Коллатца. Итак, е…
19 окт '15 в 20:25
1 ответ

Как превратить числа в последовательности, сгенерированной функцией collatz, в строку с помощью конкатенации

Числа в последовательности, сгенерированной функцией Коллатца, будут помещены в строку. Построение этой строки, вероятно, самая сложная часть этого. Получите вычисления, не беспокоясь о создании строки. Теперь я уверен, что получаю логически коррект…
09 окт '18 в 19:58