質問編集履歴
5
おちつけ私
title
CHANGED
File without changes
|
body
CHANGED
@@ -75,7 +75,7 @@
|
|
75
75
|
下に長くなったのでまとめたコードを記載しておきます。
|
76
76
|
```ruby
|
77
77
|
def mj_arano(arano)
|
78
|
-
if "00#{
|
78
|
+
if "00#{arano}00".index('00100')
|
79
79
|
if arano < 1000000 then
|
80
80
|
arano = "00#{arano}00".gsub(/001(?=00)/, '000').to_i
|
81
81
|
else
|
4
改定日、更新し忘れた。。
title
CHANGED
File without changes
|
body
CHANGED
@@ -71,7 +71,7 @@
|
|
71
71
|
```
|
72
72
|
|
73
73
|
▼▼追記10/03/21 17:46▼▼
|
74
|
-
▼▼改定10/03/
|
74
|
+
▼▼改定10/03/23 20:57▼▼
|
75
75
|
下に長くなったのでまとめたコードを記載しておきます。
|
76
76
|
```ruby
|
77
77
|
def mj_arano(arano)
|
3
if "00#{val}00"\.index\('00100'\) 追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -75,44 +75,43 @@
|
|
75
75
|
下に長くなったのでまとめたコードを記載しておきます。
|
76
76
|
```ruby
|
77
77
|
def mj_arano(arano)
|
78
|
+
if "00#{val}00".index('00100')
|
78
|
-
|
79
|
+
if arano < 1000000 then
|
79
|
-
|
80
|
+
arano = "00#{arano}00".gsub(/001(?=00)/, '000').to_i
|
80
|
-
#後ろ0の削除(2011200 -> 20112)
|
81
|
-
arano /= 10 while (arano % 10) == 0 && arano != 0
|
82
|
-
|
81
|
+
else
|
83
|
-
|
82
|
+
maisu = [0,0,0,0,0,0,0,0,0,0,0,0,0] # 0 to 12
|
84
|
-
|
83
|
+
maisu[2] = arano / 100000000
|
85
|
-
|
84
|
+
maisu[3] = (arano / 10000000) % 10
|
86
|
-
|
85
|
+
maisu[4] = (arano / 1000000) % 10
|
87
|
-
|
86
|
+
maisu[5] = (arano / 100000) % 10
|
88
|
-
|
87
|
+
maisu[6] = (arano / 10000) % 10
|
89
|
-
|
88
|
+
maisu[7] = (arano / 1000) % 10
|
90
|
-
|
89
|
+
maisu[8] = (arano / 100) % 10
|
91
|
-
|
90
|
+
maisu[9] = (arano / 10) % 10
|
92
|
-
|
91
|
+
maisu[10] =(arano / 1)
|
93
|
-
|
92
|
+
i = 2
|
94
|
-
|
93
|
+
while i <= 10
|
95
|
-
|
94
|
+
if maisu[i]==1 then
|
96
|
-
|
95
|
+
if maisu[i-2]==0 && maisu[i-1]==0 && maisu[i+1]==0 && maisu[i+2]==0 then
|
97
|
-
|
96
|
+
maisu[i] = 0
|
98
|
-
|
97
|
+
i += 2
|
98
|
+
end
|
99
99
|
end
|
100
|
+
i += 1
|
100
101
|
end
|
101
|
-
|
102
|
+
arano = 0
|
103
|
+
arano += maisu[2] * 100000000
|
104
|
+
arano += maisu[3] * 10000000
|
105
|
+
arano += maisu[4] * 1000000
|
106
|
+
arano += maisu[5] * 100000
|
107
|
+
arano += maisu[6] * 10000
|
108
|
+
arano += maisu[7] * 1000
|
109
|
+
arano += maisu[8] * 100
|
110
|
+
arano += maisu[9] * 10
|
111
|
+
arano += maisu[10]
|
102
112
|
end
|
103
|
-
arano = 0
|
104
|
-
arano += maisu[2] * 100000000
|
105
|
-
arano += maisu[3] * 10000000
|
106
|
-
arano += maisu[4] * 1000000
|
107
|
-
arano += maisu[5] * 100000
|
108
|
-
arano += maisu[6] * 10000
|
109
|
-
arano += maisu[7] * 1000
|
110
|
-
arano += maisu[8] * 100
|
111
|
-
arano += maisu[9] * 10
|
112
|
-
arano += maisu[10]
|
113
|
-
|
114
|
-
#後ろ0の削除(2011200 -> 20112)
|
115
|
-
arano /= 10 while (arano % 10) == 0 && arano != 0
|
116
113
|
end
|
114
|
+
#後ろ0の削除(2011200 -> 20112)
|
115
|
+
arano /= 10 while (arano % 10) == 0 && arano != 0
|
117
116
|
end
|
118
117
|
```
|
2
最新コード更新
title
CHANGED
File without changes
|
body
CHANGED
@@ -71,13 +71,48 @@
|
|
71
71
|
```
|
72
72
|
|
73
73
|
▼▼追記10/03/21 17:46▼▼
|
74
|
+
▼▼改定10/03/22 21:44▼▼
|
74
75
|
下に長くなったのでまとめたコードを記載しておきます。
|
75
76
|
```ruby
|
76
|
-
def
|
77
|
+
def mj_arano(arano)
|
77
|
-
|
78
|
+
if arano < 1000000 then
|
78
|
-
|
79
|
+
arano = "00#{arano}00".gsub(/001(?=00)/, '000').to_i
|
79
|
-
|
80
|
+
#後ろ0の削除(2011200 -> 20112)
|
80
|
-
|
81
|
+
arano /= 10 while (arano % 10) == 0 && arano != 0
|
82
|
+
else
|
83
|
+
maisu = [0,0,0,0,0,0,0,0,0,0,0,0,0] # 0 to 12
|
84
|
+
maisu[2] = arano / 100000000
|
85
|
+
maisu[3] = (arano / 10000000) % 10
|
86
|
+
maisu[4] = (arano / 1000000) % 10
|
87
|
+
maisu[5] = (arano / 100000) % 10
|
88
|
+
maisu[6] = (arano / 10000) % 10
|
89
|
+
maisu[7] = (arano / 1000) % 10
|
90
|
+
maisu[8] = (arano / 100) % 10
|
91
|
+
maisu[9] = (arano / 10) % 10
|
92
|
+
maisu[10] =(arano / 1)
|
93
|
+
i = 2
|
94
|
+
while i <= 10
|
95
|
+
if maisu[i]==1 then
|
96
|
+
if maisu[i-2]==0 && maisu[i-1]==0 && maisu[i+1]==0 && maisu[i+2]==0 then
|
81
|
-
|
97
|
+
maisu[i] = 0
|
98
|
+
i += 2
|
99
|
+
end
|
100
|
+
end
|
101
|
+
i += 1
|
102
|
+
end
|
103
|
+
arano = 0
|
104
|
+
arano += maisu[2] * 100000000
|
105
|
+
arano += maisu[3] * 10000000
|
106
|
+
arano += maisu[4] * 1000000
|
107
|
+
arano += maisu[5] * 100000
|
108
|
+
arano += maisu[6] * 10000
|
109
|
+
arano += maisu[7] * 1000
|
110
|
+
arano += maisu[8] * 100
|
111
|
+
arano += maisu[9] * 10
|
112
|
+
arano += maisu[10]
|
113
|
+
|
114
|
+
#後ろ0の削除(2011200 -> 20112)
|
115
|
+
arano /= 10 while (arano % 10) == 0 && arano != 0
|
116
|
+
end
|
82
117
|
end
|
83
118
|
```
|
1
纏めたコードを記載
title
CHANGED
File without changes
|
body
CHANGED
@@ -68,4 +68,16 @@
|
|
68
68
|
|
69
69
|
okuri=10010001
|
70
70
|
mj_arano(okuri) # 0
|
71
|
+
```
|
72
|
+
|
73
|
+
▼▼追記10/03/21 17:46▼▼
|
74
|
+
下に長くなったのでまとめたコードを記載しておきます。
|
75
|
+
```ruby
|
76
|
+
def mj_arano100(arano)
|
77
|
+
#孤立の1を削除
|
78
|
+
arano = "00#{arano}00".gsub(/001(?=00)/, '000').to_i
|
79
|
+
#後ろ0の削除(2011200 -> 20112)
|
80
|
+
arano /= 10 while (arano % 10) == 0 && arano != 0
|
81
|
+
return arano
|
82
|
+
end
|
71
83
|
```
|