回答編集履歴

2

small fix

2016/11/19 09:18

投稿

yohhoy
yohhoy

スコア6191

test CHANGED
@@ -44,7 +44,7 @@
44
44
 
45
45
  if not '0' in a:
46
46
 
47
- # offset = Π_{i=0}^{i < n} (radix ^ i)
47
+ # offset = Σ_{i=0}^{i < n} (radix ^ i)
48
48
 
49
49
  offset = sum([radix ** i for i in range(n)])
50
50
 

1

add comment

2016/11/19 09:18

投稿

yohhoy
yohhoy

スコア6191

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- - 「使う数字の個数」を基数とみなす。つまり`n`桁の`radix`進数として中央値を考える。
5
+ - 「使う数字の個数」を基数(`raidx`)とみなす。つまり`n`桁の`radix`進数として中央値を考える。
6
6
 
7
7
  - 「使う数字」に`0`が含まれない場合、長さが`n`桁未満の組合せ総数をカウントし(`offset`)中央値計算時のオフセットとする。
8
8
 
@@ -20,6 +20,8 @@
20
20
 
21
21
 
22
22
 
23
+ # 10進数値valueを"使う数値からなるradix進数"で再構築
24
+
23
25
  def dump(value):
24
26
 
25
27
  result = ""
@@ -34,13 +36,15 @@
34
36
 
35
37
 
36
38
 
37
- radix = len(a)
39
+ radix = len(a) # 基数
40
+
41
+
38
42
 
39
43
  offset = 0
40
44
 
45
+ if not '0' in a:
41
46
 
42
-
43
- if not '0' in a:
47
+ # offset = Π_{i=0}^{i < n} (radix ^ i)
44
48
 
45
49
  offset = sum([radix ** i for i in range(n)])
46
50
 
@@ -49,6 +53,8 @@
49
53
  offset = 1
50
54
 
51
55
 
56
+
57
+ # 中央値を計算(10進数)
52
58
 
53
59
  median = (radix ** n - offset) // 2
54
60