积分卡----(爱思创)

这是一个关于计算不同积分卡组合的问题,给定500分、100分和50分的卡片数量以及目标总分,程序通过三层循环遍历所有可能的组合,当总分等于目标分数时计数器加一,最后输出计数器的值作为答案。样例展示了不同输入和对应的输出结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目描述

小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;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值