贪心算法之找零钱

来源:互联网 发布:博途v14数据传送 编辑:程序博客网 时间:2024/06/05 02:14
问题描述:

当前有面值分别为2角5分,1角,5分,1分的硬币,请给出找n分钱的最佳方案(要求找出的硬币数目最少)


代码

import java.util.Scanner;/** * 贪心算法 */public class Main {public static void main(String[] args) {int[] money = new int[]{25,10,5,1};//先对硬币按面值从大到小排序Scanner sc = new Scanner(System.in);int n = sc.nextInt();int num[] = new int[money.length];for (int i = 0; i < money.length; i++) {num[i] = n/money[i];n = n%money[i];}for (int i = 0; i < num.length; i++) {System.out.println(money[i]+"分面值的硬币"+num[i]+"枚");}}}

贪心算法得出来的不是最优解,但是对于部分问题还是可以解决的。

0 0
原创粉丝点击