当前位置: 代码迷 >> 综合 >> HDU 2069 Coin Change
  详细解决方案

HDU 2069 Coin Change

热度:98   发布时间:2023-12-26 10:45:19.0

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2069

说明:这个题目的意思是,告诉你有面值为50,25,10,5,1这几种硬币,现在给你一个数字n,问有多少种可能50*x + 25 * y + 10 * z + 5 * t + 1 * f  == n, 因为N最大不会超过250,所以可以直接5重循环暴力求解。实际上4重循环也可以,因为知道前面4种硬币了,最后一种硬币也就是可以求的了。

代码:

if(n==0) {  printf("1\n");  continue;  }  ans = 0;  for(i=0; i<=n; i++)  for(j=0; j*5<=n-i; j++)  for(k=0; k*10<=n-i-j*5; k++)  for(l=0; l*25<=n-i-j*5-k*10; l++) {  m = n-i-j*5-k*10-l*25;  if(i+j+k+l+m/50<=100 && m%50==0)  ans ++;  }  printf("%d\n", ans);  }  

 

  相关解决方案