私は頭の中で頭脳を解決しましたが、私は再帰的な定義に翻訳するのが難しいです。ブレーンジーザーは、壊れた体重の問題(https://mathlesstraveled.com/2010/05/01/the-broken-weight-problem/)です:このパズルを再帰的にプログラミングする方法は?
落札の結果、4ポンドの測定重量がありました。その後ピースを秤量すると、各ピースの重量は全ポンドであり、4つのピースを使用して1〜40ポンドの積載重量を計量することができることが判明した。どのくらいの重量のものだったの?
だから、答えは、前の項の二倍の和として一般化することができる(1,3,9,27)+ 1
私は再帰的に返すようにPythonの関数を記述しようとしていますシーケンスのn番目の項と私はまだ再帰をうまく行っていないので、それの困難な時間を持っている。私は一種の
....私も実行中の合計を返すために持っていることを考え出しこれは、これまでのところ、私の思考プロセスの不完全なコードです:
def x(n):
if n == 1:
sum = term = 1
return (sum, term)
else:
term = (sum*2)+1
sum = sum+term
return (sum,term)
このコードが壊れていると、「発生しますローカル変数 'sum'が代入前に参照されています。どうすればこれについて最善の考えをすることができますか?
素晴らしいです、ありがとうございます! – foursuits
は1つの値だけを返すことは可能ですか? n番目の言葉ですか? x(4)= 27 – foursuits
@foursuits私は、用語を取得するためだけに使用できるラッパー関数を追加しました。残念ながら、合計は他の反復で必要となるので、再帰関数から返される必要があります。 – FamousJameous