题目描述
某人想将手中的一张面值 100 元的人民币换成 5 元、 1 元和 0.5 元面值的票子,但要求换正好 100 张,且每种票子至少一张。问:有几种换法?
提示: 用三重循环。想一想如何减少循环的次数。
5 元、 1 元和 0.5 元最多各需要几张。记得要求正好换 100 张,总价值100元。
循环变量代表某个币种的张数。
上代码,别忘了点赞+关注哦,谢谢!
#include <bits/stdc++.h>
using namespace std;
int main() {
int cnt=0;
for(int i=1;i<20;i++)//5 yun
{
for(int j=1;j<95;j++)//1 yuan
{
for(int k=1;k<145;k++)// 0.5 yuan
{
if(i*5+j*1+k*0.5==100&&i+j+k==100)
{
cnt++;
}
}
}
}
cout<<cnt<<endl;
return 0;
}