c++p1694换零钱

 

换零钱
题目描述
把一张一百元钞票换成一元,二元和五元的零钱,每种零钱至少一张。有几种换法?
输入
无输入
输出
输出换法数量,只有一个整数
样例输出
答案唯一,是一个整数,不提供样例
 

供参考:

#include<stdio.h>
int main()
{
   int i,j,k,n=0;
   for(i=1;i<=19;i++)
	   for(j=1;j<48;j++)
		   for(k=1;k<94;k++)
			   if(5*i+2*j+1*k==100)
			   {
			       //printf("%d %d %d\n",i,j,k);
			       n++;
			   }
   printf("%d\n",n);
   
   return 0;
}

 

#include <iostream>

int main() {

    int num = 0;
    // 1、2、5至少一张,那么就对剩下的92分配
    int money = 100 - 1 - 2 - 5;

    // 遍历5元的张数,最大可能money/5,
    for (int i = 0; i <= money / 5; i++) {
        // 遍历2元的张数
        for (int j = 0; j <= (money - i * 5) / 2; j++) {
            // std::cout << "方案: "
            //           << "1元: " << money - i * 5 - j * 2 + 1 << "张, "
            //           << "2元: " << j + 1 << "张, "
            //           << "5元: " << i + 1 << "张, "
            //           << std::endl;
            num++;
        }
    }

    std::cout << num << std::endl;

    return 0;
}