Skip to content

Commit

Permalink
Create demonetization.c
Browse files Browse the repository at this point in the history
Ways to dispense currency by ATM machine involving recursion.
  • Loading branch information
ashusrma authored Mar 23, 2018
1 parent 48797a5 commit d2d829d
Showing 1 changed file with 24 additions and 0 deletions.
24 changes: 24 additions & 0 deletions misc/demonetization.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
// Recursion problem
//Given the denominations of currencies available in a system, find the number of ways an ATM machine can
//generate notes for an entered amount N.

#include <stdio.h>

int ways(int n, int a[], int k) {
if(n<0 || k<0) return 0;
if(n == 0) return 1;
if(k == 0) return 0;
return ways(n, a, k-1) + ways(n-a[k-1], a, k);
}

int main() {
int m; scanf("%d", &m);
int coin[m], i; for(i=0; i<m; i++) scanf("%d", &coin[i]);

int t; scanf("%d", &t);
while(t--) {
int n; scanf("%d", &n);
printf("%d\n", ways(n, coin, m));
}
return 0;
}

0 comments on commit d2d829d

Please sign in to comment.