public static void main(String args[]){
int n = 7;
int a[] = {100,50,20, 10, 5, 2, 1};
int sum = 196;
int tes = 0;
int num[] = new int[n];
for(int i = 0,res = sum;i<n;i++ ){
num[i] = res/a[i];
res-= num[i]*a[i];
tes+= num[i];
}
String s = sum+ " =";
for(int j = 0 ;j <n;j++){
if(num[j]>0){
s = s + a[j] +"*"+num[j]+"+";
}
}
s = s.substring(0, s.lastIndexOf("+"));
System.out.println("纸币组合:"+s);
System.out.println("张数:"+tes);
}
结果:
纸币组合:196 =100*1+50*1+20*2+5*1+1*1
张数:6
本文介绍了一个简单的纸币找零算法实现,通过遍历不同面额的纸币,计算出组成特定金额所需的最少纸币数量及具体组合方式。

被折叠的 条评论
为什么被折叠?



