回答編集履歴
2
テキスト修正
test
CHANGED
@@ -108,6 +108,10 @@
|
|
108
108
|
|
109
109
|
```python
|
110
110
|
|
111
|
+
from itertools import permutations
|
112
|
+
|
113
|
+
|
114
|
+
|
111
115
|
max([(e1 + e3)*10 + (e2 + e4) for e1, e2, e3, e4 in permutations([a, b, c, d])])
|
112
116
|
|
113
117
|
```
|
1
テキスト修正
test
CHANGED
@@ -95,3 +95,21 @@
|
|
95
95
|
乱数から a, b, c, d を作り、2数の組み合わせのリストを x に作り、そこから題意の2桁の数の和のリスト(上記の説明のα、β、γに相当)を作って、最大値を得るコードです。
|
96
96
|
|
97
97
|
以上、参考になれば幸いです。
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
### 追記
|
102
|
+
|
103
|
+
|
104
|
+
|
105
|
+
上記のような検討をせずに、たとえばリスト `[1, 2, 3, 4]` から `12 + 34` を求めることにして、すべての組み合わせから、2桁の2数の和を求めて最大値を出すのは、以下でできます。
|
106
|
+
|
107
|
+
|
108
|
+
|
109
|
+
```python
|
110
|
+
|
111
|
+
max([(e1 + e3)*10 + (e2 + e4) for e1, e2, e3, e4 in permutations([a, b, c, d])])
|
112
|
+
|
113
|
+
```
|
114
|
+
|
115
|
+
ただし、順列(permutations)を使っていますし、調べる中には、10の位の数が1の位の数よりも小さい組み合わせも含むので、だいぶ無駄が多いです。(こちらのコードも上記のRepl.itに含めておきました)
|