回答編集履歴

4

追記

2019/03/04 12:24

投稿

katoy
katoy

スコア22324

test CHANGED
@@ -97,3 +97,49 @@
97
97
  ![イメージ説明](7760768dab27327af79de93d87bd2cc2.png)
98
98
 
99
99
  ![イメージ説明](d009471204c0d3922221f53e3b46b32a.png)
100
+
101
+
102
+
103
+ 追記
104
+
105
+ 組合せの場合を示します。
106
+
107
+ eee.py
108
+
109
+ ```python3
110
+
111
+ import itertools
112
+
113
+
114
+
115
+ nums = [1, 2, 3, 4]
116
+
117
+ # [1, 2, 3, 4] から3つを撰ぶ組合せ一覧で idx 番目の組合せを求める
118
+
119
+ for idx in range(4**3):
120
+
121
+ print("{:2d}: {}".format(
122
+
123
+ idx, [nums[idx // (4 * 4)], nums[(idx // 4) % 4], nums[idx % 4]]))
124
+
125
+
126
+
127
+ # [a, b, c] が [1, 2, 3, 4] から 3 つを撰ぶ組合せ一覧で何番目かを求める
128
+
129
+ for a in nums:
130
+
131
+ for b in nums:
132
+
133
+ for c in nums:
134
+
135
+ print("{}: {:2d}:".format(
136
+
137
+ [a, b, c], ((a - 1) * 4 + (b - 1) ) * 4 + (c - 1)))
138
+
139
+ ```
140
+
141
+ ![イメージ説明](2389eb7c5fa52e43f149297033dcb8ec.png)
142
+
143
+ ![イメージ説明](b03d66db4be535c4f384a0bab46fbf8c.png)
144
+
145
+ ![イメージ説明](7e3c6be8be5328dd93bd3ebdccb160e9.png)

3

追記

2019/03/04 12:24

投稿

katoy
katoy

スコア22324

test CHANGED
@@ -37,3 +37,63 @@
37
37
  注:
38
38
 
39
39
  半角 ** は うまく表示されない(強調表示に解釈されてしまう) ので、 全角**で書き直しました。
40
+
41
+
42
+
43
+ 追記
44
+
45
+ ```python3
46
+
47
+ import itertools
48
+
49
+
50
+
51
+ # [1, 2, 3, 4] から3つを撰ぶ順列一覧で idx 番目の順列を求める
52
+
53
+ for idx in range(24):
54
+
55
+ nums = [1, 2, 3, 4]
56
+
57
+
58
+
59
+ a = nums[idx // 6]
60
+
61
+ nums.remove(a)
62
+
63
+ b = nums[idx % 6 // 3]
64
+
65
+ nums.remove(b)
66
+
67
+ c = nums[idx % 2]
68
+
69
+
70
+
71
+ print("{:2d}: {}".format(idx, [a, b, c]))
72
+
73
+
74
+
75
+ # [a, b, c] が [1, 2, 3, 4] から 3 つを撰ぶ順列一覧で何番目かを求める
76
+
77
+ for x in itertools.permutations([1, 2, 3, 4], 3):
78
+
79
+ nums = [1, 2, 3, 4]
80
+
81
+
82
+
83
+ a = nums.index(x[0])
84
+
85
+ nums.remove(x[0])
86
+
87
+ b = nums.index(x[1])
88
+
89
+ nums.remove(x[1])
90
+
91
+ c = nums.index(x[2])
92
+
93
+ print("{}: {:2d}:".format(x, a * 6 + b * 2 + c))
94
+
95
+ ```
96
+
97
+ ![イメージ説明](7760768dab27327af79de93d87bd2cc2.png)
98
+
99
+ ![イメージ説明](d009471204c0d3922221f53e3b46b32a.png)

2

r

2019/03/03 01:03

投稿

katoy
katoy

スコア22324

test CHANGED
File without changes

1

誤り訂正

2019/03/03 01:00

投稿

katoy
katoy

スコア22324

test CHANGED
@@ -2,7 +2,9 @@
2
2
 
3
3
 
4
4
 
5
+
6
+
5
- 組合わせ一一覧に個数なら python で 520 * 6 とすれば 19770609664000000 が得られます。
7
+ 組合わせ一一覧に個数なら python で 520 ** 6 とすれば 19770609664000000 が得られます。
6
8
 
7
9
 
8
10
 
@@ -10,9 +12,9 @@
10
12
 
11
13
  i 番目は
12
14
 
13
-   [ (i / (520 ** 5)) % 520 + 1, (i / (520 ** 4)) % 520 + 1, (i / (520 ** 3)) % 520 + 1,
15
+   [ (i / (520 ** 5)) % 520 + 1, (i / (520 ** 4)) % 520 + 1, (i / (520 ** 3)) % 520 + 1,
14
16
 
15
-  (i / (520 ** 2)) % 520 + 1, (i / 520) % 520 + 1, i % 520 + 1]
17
+  (i / (520 ** 2)) % 520 + 1, (i / 520) % 520 + 1, i % 520 + 1]
16
18
 
17
19
  で得られます。
18
20
 
@@ -20,10 +22,18 @@
20
22
 
21
23
  [a,b,c,d,e,f] が何番目かは
22
24
 
23
- (a - 1) * 520**5 + (b - 1) * 520**4 + (c - 1) * 520**3 + (d - 1) * 520**2 + (e - 1) * 520 + f
25
+ (a - 1) * 520**5 + (b - 1) * 520**4 + (c - 1) * 520**3 + (d - 1) * 520**2 + (e - 1) * 520 + f
24
26
 
25
27
  で得られます。
26
28
 
27
29
 
28
30
 
31
+
32
+
29
33
  どんな処理をしたいのかを提示すると、一覧全体無しで処理する方法が回答として得られると思います。
34
+
35
+
36
+
37
+ 注:
38
+
39
+ 半角 ** は うまく表示されない(強調表示に解釈されてしまう) ので、 全角**で書き直しました。