回答編集履歴

3

修正

2017/07/29 05:12

投稿

退会済みユーザー
test CHANGED
@@ -42,31 +42,11 @@
42
42
 
43
43
  a.size.times do |m|
44
44
 
45
- n = m + 1
45
+ all_patern +=
46
46
 
47
-
47
+ ((a.size - m)..a.size)
48
48
 
49
- arr1 = []
50
-
51
- n.times do |o|
52
-
53
- arr1 << a.size - o
54
-
55
- end
56
-
57
-
58
-
59
- arr2 = []
60
-
61
- n.times do |o|
62
-
63
- arr2 << o + 1
64
-
65
- end
66
-
67
-
68
-
69
- all_patern += arr1.inject(:*) / arr2.inject(:*)
49
+ .to_a.inject(:*) / (1..(m+1)).to_a.inject(:*)
70
50
 
71
51
  end
72
52
 

2

修正

2017/07/29 05:12

投稿

退会済みユーザー
test CHANGED
@@ -18,9 +18,7 @@
18
18
 
19
19
  a.size.times do |m|
20
20
 
21
- n = m + 1
22
-
23
- a.combination(n).each do |e|
21
+ a.combination(m + 1).each do |e|
24
22
 
25
23
  c += 1 if e.inject(:+) > x
26
24
 

1

修正

2017/07/29 04:46

投稿

退会済みユーザー
test CHANGED
@@ -114,7 +114,7 @@
114
114
 
115
115
  確認のために全パターンを生成して数えるコードも書いています。
116
116
 
117
- a = Array.new(100).map { rand(1000) }を使用した場合
117
+ a = Array.new(100).map { rand(1000) }を使用した場合
118
118
 
119
119
  全パターンを生成して数えるコードは動かなくなります。
120
120