Pythonの基本的な演習-Kaolaz予想

コラズ予想

https://www.sohu.com/a/157051762_224832

 

自然数Nの場合

f(N)= N / 2(Nは偶数)

      = 3 * N + 1(Nが奇数の場合)

fを操作し続けると、最終的に1に収束しますか?

 

数学的な証明はまだありません。

プログラム計算の観点からは、非常に明確な構造です。Pythonは数値範囲が広いため、Pythonを使用してプログラムを作成する方が適切です。

ここでPythonループと入力パラメーターの使用を練習します。

#!/usr/bin/env python
#coding: utf-8

import sys

print("hello")

count = 0
num = 100
num = int(sys.argv[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
hello
5
16
8.0
4.0
2.0
5

F:\ Learn \ 2020> python test.py 6
hello
6
3.0
10.0
5.0
16.0
8.0
4.0
2.0
8

F:\ \ 2020> Pythonのtest.py 51学ぶ
ハロー
51
154
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.0
16.0
8.0
4.0
2.0
24

 

おすすめ

転載: blog.csdn.net/aaajj/article/details/104343002