有50枚硬币,可能包括4种类型:1元,5角,1角,5分。
已知总价值为20元。求各种硬币的数量。
比如:2,34,6,8 就是一种答案。
而 2,33,15,0 是另一个可能的答案,显然答案不唯一。
你的任务是确定类似这样的不同的方案一共有多少个(包括已经给出的2个)?
已知总价值为20元。求各种硬币的数量。
比如:2,34,6,8 就是一种答案。
而 2,33,15,0 是另一个可能的答案,显然答案不唯一。
你的任务是确定类似这样的不同的方案一共有多少个(包括已经给出的2个)?
直接提交该数字,不要提交多余的内容。
分析:要把分和角换成整数,所以全部数据扩大100倍。
C++代码:
#include<iostream>
using namespace std;
int a[4]={0};
int x=2000;
int main()
{
int sum=0;
for(a[0]=0;a[0]<20;a[0]++)
for(a[1]=0;a[1]<40;a[1]++)
for(a[2]=0;a[2]<50;a[2]++)
for(a[3]=0;a[3]<50;a[3]++)
{
if(a[0]+a[1]+a[2]+a[3]==50&&a[0]*100+a[1]*50+a[2]*10+a[3]*5==x)
sum++;
}
cout<<sum<<endl;
return 0;
}