import java.util.Collections;
import java.util.Scanner;
public class greedyalgorithm {
final int n=7;
static int []count={5,0,2,1,1,3,5};
static int []value={1,2,5,10,20,50,100};
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
* 假设1元、2元、5元、10元、20元、50元、100元的纸币
* 分别有c0, c1, c2, c3, c4, c5, c6张。
* 现在要用这些钱来支付K元,至少要用多少张纸币?
* 用贪心算法的思想,每一步尽可能用面值大的纸币即可。
* 在程序中已经事先将Value按照从小到大的顺序排好
*/
Scanner sc=new Scanner(System.in);
int money=sc.nextInt();
int result=solve(money);
if(result==-1)
System.out.println("金额不足");
else
System.out.println(result);
}
private static int solve(int money) {
// TODO Auto-generated method stub
int num=0;
for(int i=6;i>=0;i--)
{
int c=money/value[i];
if(c<=count[i])
c=money/value[i];
else
c=count[i];
money=money-c*value[i];
num=num+c;
}
if(money>0) return -1;
else return num;
}
}
写完之后,突然意识到那天上课老师说的代码风格!!!<