1008:计算(a+b)/c的值

1008:计算(a+b)/c的值

时间限制: 1000 ms 内存限制: 66536 KB
提交数: 50603 通过数: 43344
【题目描述】
给定3个整数a、b、c,计算表达式a+bc的值。

【输入】
输入仅一行,包括三个整数a、b、c, 数与数之间以一个空格分开。(-10,000<a,b,c<10,000, c不等于0)

【输出】
输出一行,即表达式的值。

【输入样例】
1 1 3
【输出样例】
0

#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
    int a,b,c,d;
    cin>>a>>b>>c;
    d=(a+b)/c;  //注意,整型变量的除法会向下取整
    cout<<d<<endl; 
    return 0;
}
<think> 我们有一个伤害计算公式:伤害 = 1 * (1 + 1.15 + a/100) * (1 + 1.8 + b/100) * (1 + 1.75 + c/100) * (1 + 1.5 + d/10) 其中a, b, c, d的初始都为0。 四个辅助的效果如下: - 一号戴:增加b 220(即b+220) - 二号泰:增加a 120(即a+120) - 三号莱:增加c 100和d 8(即c+100, d+8) - 四号莎:增加d 14(即d+14) 我们需要从这四个辅助中选择两个,使得伤害计算公式计算出的伤害最高。 由于只能选两个,一共有六种组合: 1. 戴和泰 2. 戴和莱 3. 戴和莎 4. 泰和莱 5. 泰和莎 6. 莱和莎 对于每一种组合,我们计算对应的a, b, c, d的,然后代入公式计算伤害。 注意:初始a=b=c=d=0,然后根据选择的辅助加上对应的。 我们分别计算: 组合1:戴和泰 - a: 0 + 120 = 120 (来自泰) - b: 0 + 220 = 220 (来自戴) - c: 0 - d: 0 伤害 = (1+1.15+120/100) * (1+1.8+220/100) * (1+1.75+0) * (1+1.5+0) 计算: 第一项:1 + 1.15 + 1.2 = 3.35 第二项:1 + 1.8 + 2.2 = 5.0 第三项:1 + 1.75 = 2.75 第四项:1 + 1.5 = 2.5 伤害 = 3.35 * 5.0 * 2.75 * 2.5 = 3.35*5.0=16.75; 16.75*2.75≈46.0625; 46.0625*2.5=115.15625 组合2:戴和莱 - a: 0 - b: 0+220=220 - c: 0+100=100 - d: 0+8=8 伤害 = (1+1.15+0) * (1+1.8+220/100) * (1+1.75+100/100) * (1+1.5+8/10) 计算: 第一项:1+1.15=2.15 第二项:1+1.8+2.2=5.0 第三项:1+1.75+1=3.75 第四项:1+1.5+0.8=3.3 伤害 = 2.15 * 5.0 * 3.75 * 3.3 2.15*5=10.75 10.75*3.75=40.3125 40.3125*3.3≈133.03125 组合3:戴和莎 - a:0 - b:220 - c:0 - d:14 伤害 = (1+1.15+0) * (1+1.8+220/100) * (1+1.75+0) * (1+1.5+14/10) 计算: 第一项:2.15 第二项:5.0 第三项:2.75 第四项:1+1.5+1.4=3.9 伤害 = 2.15 * 5.0 * 2.75 * 3.9 2.15*5=10.75 10.75*2.75≈29.5625 29.5625*3.9≈115.29375 组合4:泰和莱 - a:120 - b:0 - c:100 - d:8 伤害 = (1+1.15+120/100) * (1+1.8+0) * (1+1.75+100/100) * (1+1.5+8/10) 计算: 第一项:1+1.15+1.2=3.35 第二项:1+1.8=2.8 第三项:1+1.75+1=3.75 第四项:1+1.5+0.8=3.3 伤害 = 3.35 * 2.8 * 3.75 * 3.3 3.35*2.8=9.38 9.38*3.75=35.175 35.175*3.3≈116.0775 组合5:泰和莎 - a:120 - b:0 - c:0 - d:14 伤害 = (1+1.15+1.2) * (1+1.8) * (1+1.75) * (1+1.5+1.4) 第一项:3.35 第二项:2.8 第三项:2.75 第四项:3.9 伤害 = 3.35 * 2.8 * 2.75 * 3.9 3.35*2.8=9.38 9.38*2.75≈25.795 25.795*3.9≈100.6005 组合6:莱和莎 - a:0 - b:0 - c:100 - d:8+14=22 (莱加8,莎加14) 伤害 = (1+1.15) * (1+1.8) * (1+1.75+1) * (1+1.5+22/10) 第一项:2.15 第二项:2.8 第三项:3.75 第四项:1+1.5+2.2=4.7 伤害 = 2.15 * 2.8 * 3.75 * 4.7 2.15*2.8=6.02 6.02*3.75=22.575 22.575*4.7≈106.1025 比较六种组合的伤害: 1. 戴泰:约115.15625 2. 戴莱:约133.03125 3. 戴莎:约115.29375 4. 泰莱:约116.0775 5. 泰莎:约100.6005 6. 莱莎:约106.1025 最高的是组合2(戴和莱):约133.03125 因此,选择一号辅助(戴)和三号辅助(莱)的组合伤害最高。 注意:由于计算过程中有小数,我们保留足够精度,但比较时四舍五入到小数点后四位。 重新验证组合2(戴和莱)的计算: 第一项:(1+1.15+a/100) = 1+1.15+0 = 2.15 第二项:(1+1.8+b/100) = 1+1.8+220/100 = 1+1.8+2.2=5.0 第三项:(1+1.75+c/100) = 1+1.75+100/100 = 1+1.75+1=3.75 第四项:(1+1.5+d/10) = 1+1.5+8/10=1+1.5+0.8=3.3 伤害 = 2.15 * 5.0 * 3.75 * 3.3 2.15 * 5.0 = 10.75 10.75 * 3.75 = 10.75 * (4 - 0.25) = 43 - 2.6875 = 40.3125 (或者直接乘:10.75*3.75=40.3125) 40.3125 * 3.3 = 40.3125 * 3 + 40.3125 * 0.3 = 120.9375 + 12.09375 = 133.03125 其他组合验证略,但通过比较,组合2确实最高。 结论:选择戴和莱(即一号和三号辅助)的组合。 </think> 根据给定的伤害计算公式和辅助效果,通过计算所有组合的伤害并进行比较,得出最优组合如下: 伤害计算公式: $$伤害 = 1 \times (1 + 1.15 + a/100) \times (1 + 1.8 + b/100) \times (1 + 1.75 + c/100) \times (1 + 1.5 + d/10)$$ 其中 $a, b, c, d$ 初始为 $0$,辅助效果: - **戴**:$b+220$ - **泰**:$a+120$ - **莱**:$c+100$ 和 $d+8$ - **莎**:$d+14$ ### 六种组合伤害计算结果: 1. **戴 + 泰**:$a=120, b=220, c=0, d=0$ $伤害 = (1+1.15+1.2) \times (1+1.8+2.2) \times (1+1.75) \times (1+1.5) = 3.35 \times 5.0 \times 2.75 \times 2.5 \approx 115.16$ 2. **戴 + 莱**:$a=0, b=220, c=100, d=8$ $伤害 = (1+1.15) \times (1+1.8+2.2) \times (1+1.75+1) \times (1+1.5+0.8) = 2.15 \times 5.0 \times 3.75 \times 3.3 \approx 133.03$ 3. **戴 + 莎**:$a=0, b=220, c=0, d=14$ $伤害 = (1+1.15) \times (1+1.8+2.2) \times (1+1.75) \times (1+1.5+1.4) = 2.15 \times 5.0 \times 2.75 \times 3.9 \approx 115.29$ 4. **泰 + 莱**:$a=120, b=0, c=100, d=8$ $伤害 = (1+1.15+1.2) \times (1+1.8) \times (1+1.75+1) \times (1+1.5+0.8) = 3.35 \times 2.8 \times 3.75 \times 3.3 \approx 116.08$ 5. **泰 + 莎**:$a=120, b=0, c=0, d=14$ $伤害 = (1+1.15+1.2) \times (1+1.8) \times (1+1.75) \times (1+1.5+1.4) = 3.35 \times 2.8 \times 2.75 \times 3.9 \approx 100.60$ 6. **莱 + 莎**:$a=0, b=0, c=100, d=22$ $伤害 = (1+1.15) \times (1+1.8) \times (1+1.75+1) \times (1+1.5+2.2) = 2.15 \times 2.8 \times 3.75 \times 4.7 \approx 106.10$ ### 最优组合: **戴 + 莱(一号+三号)** 的伤害最高(约 $133.03$)。 原因: - $b+220$ 大幅提升第二项乘数至 $5.0$ - $c+100$ 和 $d+8$ 显著强化第三项($3.75$)和第四项($3.3$) - 各乘数均衡增长,无短板 ### 伤害计算代码实现: ```python def calculate_damage(a, b, c, d): term1 = 1 + 1.15 + a/100 term2 = 1 + 1.8 + b/100 term3 = 1 + 1.75 + c/100 term4 = 1 + 1.5 + d/10 return term1 * term2 * term3 * term4 # 戴+莱组合参数 damage = calculate_damage(a=0, b=220, c=100, d=8) print(f"戴+莱伤害: {damage}") # 输出: 133.03125 ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值