問題タブ [mutual-recursion]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 相互再帰の分析 - Luhn アルゴリズム
Luhn アルゴリズム
クレジットカード番号の確認に使用
- チェック ディジットである右端の数字から、左に移動して、2 桁ごとに値を 2 倍にします。この倍加演算の積が 9 より大きい場合 (例: 8 × 2 = 16)、積の桁を合計する (例: 16: 1 + 6 = 7、18: 1 + 8 = 9) か、または減算します。製品から 9 (例: 16: 16 - 9 = 7、18: 18 - 9 = 9)。
- すべての桁の合計を取ります。
- 合計モジュロ 10 が 0 に等しい場合 (合計が 0 で終わる場合)、数値は Luhn 式に従って有効です。それ以外の場合は無効です。
実装
相互再帰コードの空間と時間の複雑さを分析するには?
python - ラケット -> パイソン
ラケットの学習を開始し、任意のアリティ ツリーと生成再帰を使用して、特定のボードから可能なすべてのバージョンのボードを取得しています。
では、このボードがあるとしましょう。 false は空を意味します。
要件によると、これに対する解決策は次のようになります。
ラケットのソリューションはうまく機能します。Python で同じことを試しましたが、期待どおりに動作しません。
次のような出力が得られます。
また
またはさらに悪い。
私が望む出力を得ることができないようです。
他に何も機能しない場合は、出力に対して後処理を行うことを考えていましたが、それは避けたいと思います。
私が必要とするのはこれです:
いずれにせよ、お手伝いできることがあればお知らせください。
ここに私のpythonコードがあります: