「DA:subsetsum bruteforce」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「= 全探索(再帰関数で実装)を用いて部分和問題を解くPythonプログラム = 配列numbersのいくつかの要素を取り出して,それがtargetと同じ値る組み合わせを見つけると,"YES"と表示する. numbers = [1, 3, 4, 5, 8, 10] def solve(x, i=0): if i == len(numbers): return if x - numbers[i] == 0: print("YES") solve(x, i+1) solve(x - numbers[i], i+1) target = 8 solve(tar…」) |
|||
| 1行目: | 1行目: | ||
= 全探索(再帰関数で実装)を用いて部分和問題を解くPythonプログラム = | = 全探索(再帰関数で実装)を用いて部分和問題を解くPythonプログラム = | ||
配列numbersのいくつかの要素を取り出して,それがtargetと同じ値る組み合わせを見つけると,"YES" | 配列numbersのいくつかの要素を取り出して,それがtargetと同じ値る組み合わせを見つけると,"YES"と表示するプログラムですが,必要なコードが1行足りません.修正してください. | ||
numbers = [1, 3, 4, 5, 8, 10] | numbers = [1, 3, 4, 5, 8, 10] | ||
| 10行目: | 10行目: | ||
if x - numbers[i] == 0: | if x - numbers[i] == 0: | ||
print("YES") | print("YES") | ||
solve(x - numbers[i], i+1) | solve(x - numbers[i], i+1) | ||
target = 8 | target = 8 | ||
solve(target) | solve(target) | ||
2025年3月28日 (金) 12:54時点における版
全探索(再帰関数で実装)を用いて部分和問題を解くPythonプログラム
配列numbersのいくつかの要素を取り出して,それがtargetと同じ値る組み合わせを見つけると,"YES"と表示するプログラムですが,必要なコードが1行足りません.修正してください.
numbers = [1, 3, 4, 5, 8, 10]
def solve(x, i=0):
if i == len(numbers):
return
if x - numbers[i] == 0:
print("YES")
solve(x - numbers[i], i+1)
target = 8
solve(target)