/****************************************************** CP-I Warmup 1999-2000 Problem #3 ******************************************************/ /* * Question: * * Write a program to find the minimum number of currency notes required * to make up the given amount as input. * (Assume that 500,100,50,20,10,5,2,1 currency notes are available). * * If the given input is 638 * Ouput: * 500*1=500 * 100*1=100 * 20*1=20 * 10*1=10 * 5*1=5 * 2*1=2 * 1*1=1 */ #include <stdio.h> #define NO_OF_NOTES 8 struct note{ int value; int count; }; main() { struct note notes[NO_OF_NOTES]={{500,0},{100,0},{50,0},{20,0},{10,0},{5,0},{2,0},{1,0}}; int amount,i; printf("Give the amount: "); scanf("%d",&amount); for(i=0;i<NO_OF_NOTES;) { if(amount>=notes[i].value) { notes[i].count++; amount-=notes[i].value; continue; } i++; } for(i=0;i<NO_OF_NOTES;i++) if(notes[i].count) printf("%d*%d=%d\n",notes[i].value,notes[i].count,\ notes[i].value*notes[i].count); }