teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

テキスト修正

2018/03/25 01:47

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -1,21 +1,23 @@
1
- 再帰を使ってやってみました。
1
+ 再帰を使ってやってみました。
2
2
 
3
+ (※以下のコードで、メソッド名 `base_of_pascals_triangle` は、「[パスカルの三角形](https://ja.wikipedia.org/wiki/%E3%83%91%E3%82%B9%E3%82%AB%E3%83%AB%E3%81%AE%E4%B8%89%E8%A7%92%E5%BD%A2)の底辺」の意)
4
+
3
5
  > [ykt68@macbook15]$ ruby -v
4
6
  ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-darwin17]
5
7
  [ykt68@macbook15]$ cat tera118837.rb
6
8
  ```ruby
7
- def numbers(n)
9
+ def base_of_pascals_triangle(n)
8
10
  if n == 1
9
11
  [1]
10
12
  else
11
- prev = numbers(n-1)
13
+ prev = base_of_pascals_triangle(n-1)
12
14
  (0...n).map do |i|
13
15
  (i > 0 ? prev[i-1] : 0) + ( i < prev.length ? prev[i] : 0)
14
16
  end
15
17
  end
16
18
  end
17
19
 
18
- puts "#{numbers(6)}"
20
+ puts "#{base_of_pascals_triangle(6)}"
19
21
  ```
20
22
  > [ykt68@macbook15]$ ruby tera118837.rb
21
23
  **[1, 5, 10, 10, 5, 1]**

3

テキスト修正

2018/03/25 01:47

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -17,6 +17,6 @@
17
17
 
18
18
  puts "#{numbers(6)}"
19
19
  ```
20
- > [ykt68@macbook15]$ ruby test.rb
20
+ > [ykt68@macbook15]$ ruby tera118837.rb
21
21
  **[1, 5, 10, 10, 5, 1]**
22
22
  [ykt68@macbook15]$

2

テキスト修正

2018/03/24 11:53

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -5,14 +5,14 @@
5
5
  [ykt68@macbook15]$ cat tera118837.rb
6
6
  ```ruby
7
7
  def numbers(n)
8
- if n == 1
8
+ if n == 1
9
- [1]
9
+ [1]
10
- else
10
+ else
11
- prev = numbers(n-1)
11
+ prev = numbers(n-1)
12
- (0...n).map do |i|
12
+ (0...n).map do |i|
13
- (i > 0 ? prev[i-1] : 0) + ( i < prev.length ? prev[i] : 0)
13
+ (i > 0 ? prev[i-1] : 0) + ( i < prev.length ? prev[i] : 0)
14
+ end
14
15
  end
15
- end
16
16
  end
17
17
 
18
18
  puts "#{numbers(6)}"

1

テキスト修正

2018/03/24 11:47

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -9,7 +9,7 @@
9
9
  [1]
10
10
  else
11
11
  prev = numbers(n-1)
12
- (0...n).to_a.map do |i|
12
+ (0...n).map do |i|
13
13
  (i > 0 ? prev[i-1] : 0) + ( i < prev.length ? prev[i] : 0)
14
14
  end
15
15
  end