回答編集履歴
1
追記
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
|
+
が分からないようではどうしようもないですね。
|