回答編集履歴
6
コード修正
answer
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
def sum(str,i,j)
|
4
4
|
i +=1
|
5
5
|
total=0
|
6
|
-
for n in i..j
|
6
|
+
for n in i..(j+1)
|
7
7
|
total += str[n,1].to_i
|
8
8
|
end
|
9
9
|
total
|
5
コード修正
answer
CHANGED
@@ -21,16 +21,15 @@
|
|
21
21
|
total=0
|
22
22
|
amari=1
|
23
23
|
for num in 1..j do
|
24
|
-
b = (amari*10)/
|
24
|
+
b = (amari*10)/n
|
25
25
|
if num >= i then total += b end
|
26
26
|
if b then print(b) else print(0) end
|
27
|
-
amari = ((amari*10)%
|
27
|
+
amari = ((amari*10)%n)
|
28
28
|
end
|
29
29
|
total
|
30
30
|
end
|
31
|
-
|
31
|
+
print("1.")
|
32
|
-
|
32
|
+
print("\n",sum(97,2,96))
|
33
|
-
|
34
33
|
```
|
35
34
|
|
36
35
|
###最初に投稿したもの
|
4
内容修正
answer
CHANGED
@@ -1,3 +1,39 @@
|
|
1
|
+
###strを使うパターン
|
2
|
+
```Ruby
|
3
|
+
def sum(str,i,j)
|
4
|
+
i +=1
|
5
|
+
total=0
|
6
|
+
for n in i..j
|
7
|
+
total += str[n,1].to_i
|
8
|
+
end
|
9
|
+
total
|
10
|
+
end
|
11
|
+
|
12
|
+
str =
|
13
|
+
"0.010309278350515463917525773195876288659793814432989690721649484536082474226804123711340206185567"
|
14
|
+
p sum(str, 2, 96)
|
15
|
+
```
|
16
|
+
|
17
|
+
###jが無制限なパターン
|
18
|
+
検証のしようが無いのですが、多分無制限なはず
|
19
|
+
```Ruby
|
20
|
+
def sum(n,i,j)
|
21
|
+
total=0
|
22
|
+
amari=1
|
23
|
+
for num in 1..j do
|
24
|
+
b = (amari*10)/7
|
25
|
+
if num >= i then total += b end
|
26
|
+
if b then print(b) else print(0) end
|
27
|
+
amari = ((amari*10)%7)
|
28
|
+
end
|
29
|
+
total
|
30
|
+
end
|
31
|
+
|
32
|
+
p sum(97,2,96)
|
33
|
+
|
34
|
+
```
|
35
|
+
|
36
|
+
###最初に投稿したもの
|
1
37
|
限界は14?
|
2
38
|
※ 15桁目以降の数値が1/nのほうと一致しませんし
|
3
39
|
※ それ以降は成否の検証方法が分からなかったため
|
3
コード修正
answer
CHANGED
@@ -1,14 +1,17 @@
|
|
1
|
-
|
1
|
+
限界は14?
|
2
|
-
/
|
2
|
+
※ 15桁目以降の数値が1/nのほうと一致しませんし
|
3
|
+
※ それ以降は成否の検証方法が分からなかったため
|
3
4
|
```ruby
|
4
5
|
def c(n,i,j)
|
5
6
|
r=0
|
6
7
|
for num in i..j do
|
7
|
-
r += ((1.0*10**num/n)
|
8
|
+
r += ((1.0*10**num)/n).floor % 10
|
8
|
-
print(((1.0*10**num/n)
|
9
|
+
print(((1.0*10**num)/n).floor % 10, " + ")
|
9
10
|
end
|
10
11
|
r
|
11
12
|
end
|
12
13
|
|
14
|
+
print(1.0/7, ": ")
|
13
|
-
print("= ",c(7,1,
|
15
|
+
print("= ",c(7,1,16))
|
16
|
+
#0.142857142857143: 1 + 4 + 2 + 8 + 5 + 7 + 1 + 4 + 2 + 8 + 5 + 7 + 1 + 4 + 2 + 8 + = 69
|
14
17
|
```
|
2
修正中
answer
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
+
上限ありますね。修正中
|
1
|
-
論理上の上限無し(ハードウェアリソース的な限界はあるかも)
|
2
|
+
//論理上の上限無し(ハードウェアリソース的な限界はあるかも)
|
2
3
|
```ruby
|
3
4
|
def c(n,i,j)
|
4
5
|
r=0
|
1
コード修正
answer
CHANGED
@@ -3,8 +3,8 @@
|
|
3
3
|
def c(n,i,j)
|
4
4
|
r=0
|
5
5
|
for num in i..j do
|
6
|
-
r += ((1.0
|
6
|
+
r += ((1.0*10**num/n)).floor % 10
|
7
|
-
print(((1.0
|
7
|
+
print(((1.0*10**num/n)).floor % 10, " + ")
|
8
8
|
end
|
9
9
|
r
|
10
10
|
end
|