回答編集履歴

1

追記

2022/05/24 02:00

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -16,3 +16,20 @@
16
16
  }
17
17
  ```
18
18
  change は嘘のコードなので、自分で考えてください。
19
+
20
+ **追記**
21
+ 嘘のコードは気持ちが悪いので、ちゃんと動くコードを示します。
22
+ ```C
23
+ int change(int n, int k)
24
+ {
25
+ return n < 0 ? 0 : k == 1 ? 1 :
26
+ change(n-k, k) + change(n, k==5 ? 1 : k==10 ? 5 : k==50 ? 10 : 50);
27
+ }
28
+ ```
29
+ これは模範解答ではありません。
30
+ ?: の三項演算子を使わないほうが分かりやすくなり、
31
+ 質問のコードに近いものになるでしょう。
32
+
33
+ でも、printf("abc\n"); printf("def\n"); を
34
+ printf("abc\n", "def\n") としてもなぜ横に並ばないか
35
+ が分からないようではどうしようもないですね。