STEP 6.2 コインの例題

<問題> おつりX円を、できるだけ少ない枚数で支払う。どうするか。(方法の例は、プログラムを読んで確認のこと)


<実行結果例> 
change :650
500 -> 1
400 -> 0
100 -> 1
50 -> 1
10 -> 0
5 -> 0
The number of coins : 3

change :260
500 -> 0
400 -> 0
100 -> 2
50 -> 1
10 -> 1
5 -> 0
The number of coins : 4



解答例
#include <stdio.h>

int main (void) {
   int change; /* おつり scanf */
   int i, n, sum; /* sumは、コインの総計 */
   int val[] = {500, 400, 100, 50, 10, 5, 1};

   printf("change :");
   scanf("%d", &change);

   sum = 0;
   for (i = 0; i < 6 ; i++) {
      n = change / val[i];
      printf("%d -> %d \n", val[i], n);
      sum = sum + n;
      change = change % val[i];
   }

   printf("The number of coins : %d\n", sum);

   return 0;
}