Python基礎練習 考拉茲猜想

2021-10-02 21:23:47 字數 1083 閱讀 7651

考拉茲猜想

對於自然數n

f(n) = n / 2   (n為偶數)

= 3 * n + 1  (n為奇數時)

不斷的進行f操作,是否最終都會收斂到1?

目前還沒有數學證明。

從程式計算的角度看,是個很清晰的結構,由於python的number的範圍較大,所以使用python去寫程式是比較適宜的。

這裡練習下python的迴圈以及輸入引數的使用。

#!/usr/bin/env python

#coding: utf-8

import sys

print("hello")

count = 0

num = 100

num = int(sys.ar**[1])

while num != 1:

print(num)

count += 1

if(num % 2 == 0):

num = num / 2

else:

num = num * 3 + 1

print(count)

測試

f:\learn\2020>python test.py 5

hello516

8.04.0

2.05

f:\learn\2020>python test.py 6

hello

63.0

10.0

5.016.0

8.04.0

2.08

f:\learn\2020>python test.py 51

hello

51154

77.0

232.0

116.0

58.0

29.0

88.0

44.0

22.0

11.0

34.0

17.0

52.0

26.0

13.0

40.0

20.0

10.0

5.016.0

8.04.0

2.024

考拉茲猜想

考拉茲猜想 又稱3n 1猜想 角谷猜想 哈塞猜想 烏拉姆猜想或敘拉古猜想 和 哥德 猜想 一樣目前還沒有用數學方法證明其完全成立。在1930年,德國漢堡大學的學生考拉茲,曾經研究過這個猜想,因而得名。在1960年,日本人角谷靜夫也研究過這個猜想。該猜想的敘述十分簡單 從任何乙個正整數n出發,若是偶數...

考拉茲猜想(Python版)

例題 考拉茲猜想 collatz conjecture 也叫奇偶歸一猜想 3n 1猜想 冰雹猜想 角骨猜想 哈塞猜想 烏拉姆猜想 敘拉古猜想 演算法介紹 對於每乙個正整數,如果他是奇數,就對他乘以3,再加1,如果是偶數則對他除以2,最終都能得到1 def collatz conjecture num...

Python實現Collatz序列 考拉茲猜想

考拉茲猜想 英語 collatz conjecture 又稱為奇偶歸一猜想 3n 1猜想 冰雹猜想 角谷猜想 哈塞猜想 烏拉姆猜想或敘拉古猜想,是指對於每乙個正整數,如果它是奇數,則對它乘3再加1,如果它是偶數,則對它除以2,如此迴圈,最終都能夠得到1。1.編寫乙個collatz函式 def col...