回答編集履歴
2
テキスト修正
answer
CHANGED
@@ -53,6 +53,8 @@
|
|
53
53
|
上記のような検討をせずに、たとえばリスト `[1, 2, 3, 4]` から `12 + 34` を求めることにして、すべての組み合わせから、2桁の2数の和を求めて最大値を出すのは、以下でできます。
|
54
54
|
|
55
55
|
```python
|
56
|
+
from itertools import permutations
|
57
|
+
|
56
58
|
max([(e1 + e3)*10 + (e2 + e4) for e1, e2, e3, e4 in permutations([a, b, c, d])])
|
57
59
|
```
|
58
60
|
ただし、順列(permutations)を使っていますし、調べる中には、10の位の数が1の位の数よりも小さい組み合わせも含むので、だいぶ無駄が多いです。(こちらのコードも上記のRepl.itに含めておきました)
|
1
テキスト修正
answer
CHANGED
@@ -46,4 +46,13 @@
|
|
46
46
|
|
47
47
|
|
48
48
|
乱数から a, b, c, d を作り、2数の組み合わせのリストを x に作り、そこから題意の2桁の数の和のリスト(上記の説明のα、β、γに相当)を作って、最大値を得るコードです。
|
49
|
-
以上、参考になれば幸いです。
|
49
|
+
以上、参考になれば幸いです。
|
50
|
+
|
51
|
+
### 追記
|
52
|
+
|
53
|
+
上記のような検討をせずに、たとえばリスト `[1, 2, 3, 4]` から `12 + 34` を求めることにして、すべての組み合わせから、2桁の2数の和を求めて最大値を出すのは、以下でできます。
|
54
|
+
|
55
|
+
```python
|
56
|
+
max([(e1 + e3)*10 + (e2 + e4) for e1, e2, e3, e4 in permutations([a, b, c, d])])
|
57
|
+
```
|
58
|
+
ただし、順列(permutations)を使っていますし、調べる中には、10の位の数が1の位の数よりも小さい組み合わせも含むので、だいぶ無駄が多いです。(こちらのコードも上記のRepl.itに含めておきました)
|