回答編集履歴
6
ご指摘内容を反映
answer
CHANGED
@@ -33,11 +33,13 @@
|
|
33
33
|
数値リストAA.add(数値リストA);
|
34
34
|
}
|
35
35
|
|
36
|
+
tmp数値リストA<==数値リストA
|
36
|
-
数値リストA.add(数値tmp);
|
37
|
+
tmp数値リストA.add(数値tmp);
|
37
|
-
if(数値リストAAに数値リストAが登録済みでない)
|
38
|
+
if(数値リストAAにtmp数値リストAが登録済みでない)
|
38
39
|
{
|
39
|
-
数値リストAA.add(数値リストA);
|
40
|
+
数値リストAA.add(tmp数値リストA);
|
40
41
|
}
|
42
|
+
|
41
43
|
|
42
44
|
}
|
43
45
|
}
|
5
ご指摘内容を反映1
answer
CHANGED
@@ -17,22 +17,30 @@
|
|
17
17
|
|
18
18
|
再帰チェック(目的値、数値T、数値リストT、数値リストAA、数値リストA)
|
19
19
|
{
|
20
|
-
|
20
|
+
数値リストTから数値を順に取り出し(数値TT)ループ
|
21
|
-
|
21
|
+
{
|
22
|
-
|
22
|
+
if(数値TT>数値T)
|
23
|
-
|
23
|
+
{何もしない}
|
24
|
-
|
24
|
+
else if(数値リストAの総和+数値TT<目的値)
|
25
|
-
|
25
|
+
{
|
26
|
-
|
26
|
+
数値リストA.add(数値tmp);
|
27
|
-
|
27
|
+
再帰チェック(目的値、数値TT、数値リストT、数値リストAA、数値リストA)
|
28
|
-
|
28
|
+
}
|
29
|
-
|
29
|
+
else
|
30
|
-
|
30
|
+
{
|
31
|
-
|
31
|
+
if(数値リストAAに数値リストAが登録済みでない)
|
32
|
-
|
32
|
+
{
|
33
|
-
|
33
|
+
数値リストAA.add(数値リストA);
|
34
|
-
|
34
|
+
}
|
35
|
+
|
36
|
+
数値リストA.add(数値tmp);
|
37
|
+
if(数値リストAAに数値リストAが登録済みでない)
|
38
|
+
{
|
39
|
+
数値リストAA.add(数値リストA);
|
35
|
-
|
40
|
+
}
|
41
|
+
|
36
|
-
|
42
|
+
}
|
43
|
+
}
|
37
44
|
}
|
45
|
+
|
38
46
|
```
|
4
ロジック修正
answer
CHANGED
@@ -28,7 +28,10 @@
|
|
28
28
|
}
|
29
29
|
else
|
30
30
|
{
|
31
|
+
if(数値リストAAに数値リストAが登録済みでない)
|
32
|
+
{
|
31
|
-
|
33
|
+
数値リストAA.add(数値リストA);
|
34
|
+
}
|
32
35
|
}
|
33
36
|
}
|
34
37
|
}
|
3
ロジックを見やすく
answer
CHANGED
@@ -1,27 +1,35 @@
|
|
1
1
|
だいぶ愚直ですが、私だったら以下のような感じで。
|
2
2
|
|
3
3
|
```ここに言語を入力
|
4
|
+
main()
|
5
|
+
{
|
4
|
-
|
6
|
+
複数の数値をソート 数値リストT[]
|
5
|
-
|
7
|
+
ある数値を定義 数値A
|
6
|
-
|
8
|
+
答えの数値リストを定義 数値リストAA[][]
|
7
|
-
|
9
|
+
答えの数値リストを定義 数値リストA[]
|
8
10
|
|
9
|
-
|
11
|
+
再帰チェック(目的値、int.max、数値リストT、数値リストAA、数値リストA)
|
12
|
+
数値リストから最適な解を選択
|
10
13
|
|
11
|
-
|
14
|
+
}
|
12
15
|
|
13
16
|
----------------------------------------------------------------------------------
|
14
17
|
|
15
|
-
再帰チェック(目的値、数値リストT、数値リストAA、数値リストA)
|
18
|
+
再帰チェック(目的値、数値T、数値リストT、数値リストAA、数値リストA)
|
16
19
|
{
|
17
|
-
|
20
|
+
数値リストTから数値を順に取り出し(数値TT)ループ
|
21
|
+
{
|
22
|
+
if(数値TT>数値T)
|
23
|
+
{何もしない}
|
18
|
-
|
24
|
+
else if(数値リストAの総和+数値TT<目的値)
|
25
|
+
{
|
19
|
-
|
26
|
+
数値リスト[].add(数値tmp);
|
20
|
-
|
27
|
+
再帰チェック(目的値、数値TT、数値リストT、数値リストAA、数値リストA)
|
21
|
-
|
28
|
+
}
|
22
|
-
|
29
|
+
else
|
30
|
+
{
|
23
|
-
|
31
|
+
数値リストAA.add(数値リストA);
|
24
|
-
|
32
|
+
}
|
25
|
-
|
33
|
+
}
|
26
34
|
}
|
27
35
|
```
|
2
コード表示されていなかった
answer
CHANGED
@@ -23,4 +23,5 @@
|
|
23
23
|
④数値リストAA.add(数値リストA);
|
24
24
|
①'
|
25
25
|
⑤'ループ終わり
|
26
|
+
}
|
26
|
-
|
27
|
+
```
|
1
ロジック修正
answer
CHANGED
@@ -6,9 +6,7 @@
|
|
6
6
|
③答えの数値リストを定義 数値リストAA[][]
|
7
7
|
④答えの数値リストを定義 数値リストA[]
|
8
8
|
|
9
|
-
⑤数値リストTから数値を順に取り出し(数値T)ループ
|
10
|
-
|
9
|
+
⑥再帰チェック(目的値、数値リストT、数値リストAA、数値リストA)
|
11
|
-
⑤'ループ終わり
|
12
10
|
|
13
11
|
⑥数値リストから最適な解を選択
|
14
12
|
|
@@ -16,12 +14,13 @@
|
|
16
14
|
|
17
15
|
再帰チェック(目的値、数値リストT、数値リストAA、数値リストA)
|
18
16
|
{
|
17
|
+
⑤数値リストTから数値を順に取り出し(数値T)ループ
|
19
|
-
|
18
|
+
①if(数値リストAの総和+数値T<目的値)
|
20
|
-
|
19
|
+
②数値リスト[].add(数値tmp);
|
21
|
-
|
20
|
+
③再帰チェック(数値リストT、数値リストAA、数値リストA)
|
22
|
-
|
21
|
+
①'
|
23
|
-
|
22
|
+
①else
|
24
|
-
|
23
|
+
④数値リストAA.add(数値リストA);
|
25
|
-
|
24
|
+
①'
|
26
|
-
|
25
|
+
⑤'ループ終わり
|
27
|
-
```
|
26
|
+
}```
|