[解決済み] コラッツ予想列
2022-02-15 17:05:40
質問
コラッツ予想
私がやろうとしていること collatz_sequence という関数を書き、開始点を含む整数列を返す。 配列はリストの形で返す。 もしユーザが 1 より小さい整数を入力したら、空のリスト [] を返すように関数を作成します。
コラッツ予想の背景
任意の自然数nをとり、nが偶数なら2で割ってn / 2とし、nが奇数なら3を掛けて1を足し、3n + 1とする。これを無限に繰り返す。どのような数から始めても、最終的には必ず1に到達する、という推測である。
今のところあるもの
def collatz_sequence(x):
seq = [x]
if x < 1:
return []
while x > 1:
if x % 2 == 0:
x= x/2
else:
x= 3*x+1
return seq
1より小さい数でこれを実行すると、空集合が得られ、それは正しいです。しかし、1以上の数で実行すると、その数しか得られません。例えば、collatz_sequence(6) は [6] を返します。つまり、6 は 6,3,10,5,16,8,4,2,1 をリストで返す必要があります。
どのように解決するのですか?
を追加するのを忘れています。
x
の値を
seq
のリストを作成します。
def collatz_sequence(x):
seq = [x]
if x < 1:
return []
while x > 1:
if x % 2 == 0:
x = x / 2
else:
x = 3 * x + 1
seq.append(x) # Added line
return seq
検証を行います。
~/tmp$ python collatz.py
[6, 3, 10, 5, 16, 8, 4, 2, 1]
関連
-
ピローによる動的キャプチャ認識のためのPythonサンプルコード
-
python string splicing.join()とsplitting.split()の説明
-
pythonサイクルタスクスケジューリングツール スケジュール詳解
-
python implement mysql add delete check change サンプルコード
-
Python入門 openを使ったファイルの読み書きの方法
-
[解決済み】TypeError: unhashable type: 'numpy.ndarray'.
-
[解決済み] データ型が理解できない
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。
-
[解決済み】Python elifの構文が無効です【終了しました
-
[解決済み】django インポートエラー - core.managementという名前のモジュールがない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python jiabaライブラリの使用方法について説明
-
PyQt5はユーザーログインGUIインターフェースとログイン後のジャンプを実装しています。
-
[解決済み] _tkinter.TclError: 表示名がなく、$DISPLAY環境変数もない。
-
[解決済み】TypeErrorの修正方法。Unicodeオブジェクトは、ハッシュ化する前にエンコードする必要がある?
-
[解決済み】「RuntimeError: dictionary changed size during iteration」エラーを回避する方法とは?
-
[解決済み】numpyの配列連結。"ValueError:すべての入力配列は同じ次元数でなければならない"
-
[解決済み] データ型が理解できない
-
[解決済み】Pythonスクリプトで「Expected 2D array, got 1D array instead: 」というエラーが発生?
-
[解決済み】socket.error: [Errno 48] アドレスはすでに使用中です。
-
[解決済み】「SyntaxError.Syntax」は何ですか?Missing parentheses in call to 'print'」はPythonでどういう意味ですか?