每日一题传奇霸业

文章提供了一个C语言程序,模拟了在游戏《传奇霸业》中,角色小春与黄金哥布林的战斗过程。程序考虑了攻击、治疗和伤害计算,以确定击败哥布林所需的最小操作次数。在战斗中,若小春的HP小于哥布林造成的伤害,他会使用治疗药水恢复。文章指出原始答案可能未处理小春生命值低于伤害的情况。
摘要由CSDN通过智能技术生成

传奇霸业,是兄弟就来干。 小春(HP == a)遇到了一只黄金哥布林(HP == x)。 小春每次能对哥布林造成b点伤害,哥布
林每次能对小春造成y点伤害。 作为玩家的小春怎么可能随便让哥布林打死呢!他有治疗神药,每次能恢复c点HP。 HP无
上限。 小春需要操作多少次才能打死哥布林?(治疗+攻击)
 

我觉得这一题设置有问题当第一次就出现a<=y时应加血的但答案没考虑

这个是我写的:

#include<stdio.h>
int main()
{
	int a = 0;
	int b = 0;
	int x = 0;
	int y = 0;
	int c = 0;
	int sum = 0;
	//if xiaoqiang is winer he must Priority attacks
	scanf("%d %d %d", &a, &b, &c);
	scanf("%d %d", &x, &y);
	for (size_t i = 0; x > 0; i++)
	{
		while (a <= y)
		{
			a += c;
			a -= y;
			sum++;
		}
		x = x - b;
		a = a - y;
		sum++;
	}
	printf("%d", sum);
	return 0;

}

 答案是:

#include<stdio.h>
int main()
{
	int a = 0;
	int b = 0;
	int x = 0;
	int y = 0;
	int c = 0;
	int sum = 0;
	//if xiaoqiang is winer he must Priority attacks
	scanf("%d %d %d", &a, &b, &c);
	scanf("%d %d", &x, &y);
	for (size_t i = 0; x > 0; i++)
	{
		while (a <= 0)
		{
			a += c;
			a -= y;
			sum++;
		}
		x = x - b;
		a = a - y;
		sum++;
	}
	printf("%d", sum);
	return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值