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