collatz

    0热度

    1回答

    我获得了一个分配写考拉兹猜想程序,修改像这样: 我们知道程序总是除以4的偶数,甚至是那些没有被4整除,因此6之后的下一步将是6/4 == 1. 我们知道即使有替代行为,程序也总是达到停止条件,不知道代码中是否有其他更改... ,它需要 数从n步数,直到我们达到停止条件包括正本身 回报的所有步骤中Shortz(N)的总和 为最终的答案,我需要回到(的737458374680773所有步骤的总和)*

    -1热度

    1回答

    您好,我正在尝试执行hailstone序列。 雹石序列基本上是:取一个给定的整数n - 如果偶数,则序列中的下一个整数是n/2,如果是奇数,则序列中的下一个整数是n * 3 + 1. API必须遵循对于我的任务,需要使用返回数组列表的方法执行它。 我的问题是代码只是永远挂起来,当我在方法本身添加输出以查看发生了什么事情时,我发现它总是在由于某种原因给出数字10时挂起。 我希望有一些我可能在我的条件

    1热度

    1回答

    我应该编写代码,以3种不同的方式显示collat​​z猜想,使用递归进行分配。如果你对这个想法不熟悉,那么这个猜想就会说如果你取任何起始值n,如果n是偶数,你可以通过除以n/2得到1的值,或者如果n是奇数,则可以乘3n + 1。我应该以3种方式,前进,后退和回文方式显示完整的算法。 例如,在向前的方式值32将显示:32 16 8 4 2 1 在向后时尚的值32将显示1 2 4 8 16 32 最后

    -1热度

    1回答

    我刚刚进入编码领域,对Dr.Retet感兴趣,现在我面临着我的第一个问题。我创建了这个代码: (define (collatz n) (cond ((= n 1) 1) ((> n 1) (collatz_helper n)))) (define (collatz_helper n) (if (even? n) (collatz (/ n 2))

    3热度

    2回答

    我最近发现了关于3n + 1的问题,并想写一个简单的代码来解决这个问题。 这一切都有效,但在高的奇数如999,999,999它去负数,并重复一个无休止的循环,我不知道为什么。 // if n is odd n = 3n+1 // if n is even n = n/2 while (true) { int n; Console.WriteLine("Enter a po

    0热度

    1回答

    我试图寻找不到编号的最长Collatz序列,说100,但有,我不能找到一个错误,这使得我的代码崩溃: var longest=0; //holds the biggest m var m=0; //count of steps for at given n //in the following, the counter var starts the sequence by giving it

    0热度

    1回答

    如果用户输入数字1,那么while循环不应该运行,因为1 = 1,是正确的? def collatz(number): if number % 2 == 0: print(number // 2) return number // 2 elif number % 2 == 1: result = 3 * number + 1

    5热度

    4回答

    我目前有麻烦“自动无聊的东西”完成这个挑战在Collat​​z功能: 我的代码是: def collatz(number): global seqNum if (seqNum % 2 == 0): return seqNum // 2 elif (seqNum % 2 == 1): return 3 * seqNum + 1 print(

    0热度

    1回答

    我创建了这个collat​​z代码,当我运行命令'java collat​​z 7'时,我的程序在n达到1时不会终止,而是一直重复序列直到StackOverflowError。任何人都可以指出这里有什么问题? THX public class collatz{ public static void collatz(int n){ System.out.println(n+"

    1热度

    2回答

    我有以下代码 - 用于在Collat​​z函数的源代码: number = int(input('enter a number') while number != 1: if number%2 == 0: n = number//2 print (str(n)) elif number%2 == 1: n = 3*number+1