簡體   English   中英

模擬 Collatz 猜想的代碼將 1 顯示為偶數

[英]Code to simulate Collatz Conjecture is showing 1 as an even number

我的代碼如下

output_even = "Even: "
output_odd = "Odd: "

if varnum % 2 == 0:
 varnum /= 2
 print(output_even, varnum)
 time.sleep(0.1)
elif varnum % 2 != 0:
 varnum *= 3
 varnum += 1
 print(output_odd, varnum)
 time.sleep(0.1)

Output(整數 5):

單數:16

均勻:8.0

甚至:4.0

甚至:2.0

甚至:1.0

猜想未解

我知道一個不應該是偶數。 但由於某些原因,它被列為偶數,如 output 所示,原始數字為 5。

編輯:帶有代碼的完整循環希望能得到額外的說明

        while varnum != 1:
            if varnum % 2 == 0:
                print(output_even, varnum)
                varnum /= 2
                time.sleep(0.1)
            elif varnum % 2 != 0:
                print(output_odd, varnum)
                varnum *= 3
                varnum += 1
                time.sleep(0.1)
        if varnum == 1:
            print("Conjecture not solved")
        else:
            print("Conjecture solved")

不過 2 是偶數。

您將varnum除以 2,然后打印該除法的結果。

嘗試交換算術和打印操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM