钱币组合加强版本

小明手上有    五!!!张纸币(他的钱很奇怪,可以是任意的正整数),现在他想知道 
用这五种纸币可以组合出多少种不同的总额出来,且这个总额是大于0的。 一行五个正整数,总和不超过10000 

输入

一行给出五个数字

输出

如题 

思路:只要用5个循环就行了

CODE:

#include<bits/stdc++.h>
using namespace std;
int f[10000];
int main() {
	int a,b,c,d,e;
	cin>>a>>b>>c>>d>>e;
	for(int i=0; i<=1; i++)
		for(int j=0; j<=1; j++)
			for(int k=0; k<=1; k++)
				for(int l=0; l<=1; l++)
					for(int s=0; s<=1; s++)
						f[a*i+b*j+c*k+d*l+e*s]=1;
	int ans=0;
	for(int i=min(a,min(b,min(c,min(d,e)))); i<=a+b+c+d+e; i++)
		if(f[i]==1)
			ans++;
	cout<<ans<<endl;

	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_55599629/article/details/120013765