回答編集履歴

2

文言を修正しました

2019/12/12 11:15

投稿

tatsuya6502
tatsuya6502

スコア2035

test CHANGED
@@ -76,7 +76,7 @@
76
76
 
77
77
 
78
78
 
79
- 111は111stではなくて111thなので、以下のように書くのが正解かもれません
79
+ 111は111stではなくて111thなので、以下のように書くのが正解
80
80
 
81
81
 
82
82
 

1

111stなどを正しく扱えるコードを追加しました

2019/12/12 11:15

投稿

tatsuya6502
tatsuya6502

スコア2035

test CHANGED
@@ -69,3 +69,37 @@
69
69
 
70
70
 
71
71
  (元のコードの`dev(n, 10)`(除算)は間違いのようでしたので、`rem(n, 10)`(余り)に変えました)
72
+
73
+
74
+
75
+ **追記**
76
+
77
+
78
+
79
+ 111は111stではなくて111thなので、以下のように書くのが正解かもしれません。
80
+
81
+
82
+
83
+ ```elixir
84
+
85
+ def print_loading(n) do
86
+
87
+ ordinal = case {rem(n, 100), rem(n, 10)} do
88
+
89
+ {m, _} when 11 <= m and m <= 13 -> "#{n}th"
90
+
91
+ {_, 1} -> "#{n}st"
92
+
93
+ {_, 2} -> "#{n}nd"
94
+
95
+ {_, 3} -> "#{n}rd"
96
+
97
+ _ -> "#{n}th"
98
+
99
+ end
100
+
101
+ IO.puts "now #{ordinal} fibonacci number loading"
102
+
103
+ end
104
+
105
+ ```