【算法题】换钱

发布时间 2024-01-06 21:09:44作者: hzyuan

题目描述

某人想将手中的一张面值100元的人民币换成10元、5元、2元和1元面值的票子。要求换正好40张,且每种票子至少一张。问:有几种换法?

题解

#include <stdio.h>

int main() {
    int money=100, count=0;
    for (int i = 1; i*10 < money; ++i) {
        for (int j = 1; j*5 < money-i*10 ; ++j) {
            for (int k = 1; k*2 < money-i*10-j*5; ++k) {
                int l = money-i*10-j*5-k*2;
                if(l>=1 && i+j+k+l==40){
                    count++;
                }
            }
        }
    }
    printf("%d",count);
    return 0;
}