int minCoins(int s[], int m , int V)
{
	int res= INT_MAX;
	
	if(V==0)
			return 0;
	int i;
	for(i=0; i<m; i++)
	{
		if(s[m]<=V)
		{
			int sub_res = minCoins(s, m, V-s[i]);
			if(sub_res != INT_MAX && sub_res+1 <res)
				res = sub_res+1;
			
		}
		
		
	}
	return res;
	
	
	
	
}
int main()
{
	
	int s[] ={1,2,3};
	int m = sizeof(s)/sizeof(s[0]);
	printf("Minimum noof coins req: [ %d ]\n",minCoins(s, m, 5));	
	return 0;
}
Esempio n. 3
0
int minCoins(int coins[], int len, int n)
{
    if (len == 1) return n;
    int minCount = INT_MAX;
    for (int i = n/coins[len-1]; i >= 0; i--) {
        minCount = min(minCount, minCoins(coins, len-1, n-i*coins[len-1])+i);
    }
    return minCount;
}
Esempio n. 4
0
int main(int argc, _TCHAR* argv[])
{
	int min = minCoins(99);
	return 0;
}
Esempio n. 5
0
int minCoins(int n) {
    if (n <= 0) return 0;
    int coins[] = {1, 5, 10, 25};
    return minCoins(coins, sizeof(coins)/sizeof(int), n);
}