您的位置:首页 > 其它

十一:贪心算法-寻找硬币

2017-12-28 10:57 281 查看
问题:贪心算法-寻找硬币

题目描述


现有价值分别为:1 3 5 10的硬币若干。请用最少的硬币数量找出n(n<100000000)元钱。
输入

一个数字,表示要找出的钱的数量
输出

一个数字,表示需要多少硬币
样例输入

14
样例输出

3

#include<stdio.h>
#include<stdlib.h>
long k=100000000;
int a[4]={1,3,5,10};
void fun(int n,int m,int sum){
int i;
if(sum==n){
if(m<k) k=m;
printf("%d\n",k);
exit(0);
}
if(sum>n) return;
for(i=3;i>=0;i--){
fun(n,m+1,sum+a[i]);
}
}
int main(){
long n;
int m=0,sum=0;
scanf("%d",&n);
fun(n,m,sum);

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: