题目描述
小A同学每节课都会获得李老师发放的一些积分卡。
现在小A同学拥有 a 张500分、b 张100分、c 张50分的积分卡。
请你计算一下,小A同学能选出多少种不同的积分组合,使得该组合下的总积分恰好为 x 分。
所谓的不同的积分组合:当两个组合中,任何一种积分卡的数量不一样时,即视为不同。
输入格式
第一行:a
第二行:b
第三行:c
第四行:x
输出格式
一行一个整数,答案。
样例输入
1 2 3 500样例输出
1样例输入
3 3 3 100样例输出
2样例输入
0 1 0 150样例输出
0问题提示
对于 100% 的数据:0≤a,b,c≤100,50≤x≤20000 ,且 x 为 50 的倍数。
源代码
#include <bits/stdc++.h>
using namespace std;
int a,b,c,x,sum=0;
int main(){
cin>>a>>b>>c>>x;
for(int i=0;i<=a;i++){
for(int j=0;j<=b;j++){
for(int k=0;k<=c;k++){
if(i*500+j*100+k*50==x){
sum++;
}
}
}
}
cout<<sum;
return 0;
}
这是一个关于计算不同积分卡组合的问题,给定500分、100分和50分的卡片数量以及目标总分,程序通过三层循环遍历所有可能的组合,当总分等于目标分数时计数器加一,最后输出计数器的值作为答案。样例展示了不同输入和对应的输出结果。
270

被折叠的 条评论
为什么被折叠?



