编程练习-找零钱

2021/8/2 14:07:12

本文主要是介绍编程练习-找零钱,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

老村长在村口支了一个西瓜摊卖西瓜,规定每人只能买一个瓜,一个瓜5元。

村民们手里有5元,10元,20元币值的钱。

拿5元买瓜,不用找零。

拿10元买瓜,需要找零5元。

拿20元买瓜,需要找零15元。

请写出一个函数,检查老村长能否对排队买瓜的所有人找零钱,如果能,返回true,否则,返回false。

go实现:

package main

import "fmt"

func coinChange(coin_list []int) bool {
    var five, ten = 0, 0

    fmt.Println(coin_list)

    for _, v := range coin_list {
        if v == 5 {
            five++
        }
        if v == 10 {
            if five > 0 {
                five--
                ten++
            } else {
                return false
            }
        }
        
        if v == 20 {
            if five > 0 && ten > 0 {
                five--
                ten--
            } else if five >= 3 {
          five = five - 3
       } else {
                return false
            }
        }
    }

    return true
}

func main() {
    var coin_list = []int{5, 10, 5, 20}
    fmt.Println(coinChange(coin_list))
}

 



这篇关于编程练习-找零钱的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程