【GESP】C++一级练习 luogu-P1634, 禽兽的传染病
GESP一级循环基础练习,难度★☆☆☆☆。
luogu-P1634
题目要求
题目描述
禽兽患传染病了。一个禽兽会每轮传染 $x$ 个禽兽。试问 $n$ 轮传染后有多少禽兽被传染?
输入格式
两个非负整数 $x$ 和 $n$。
输出格式
一个整数,即被传染的禽兽数。
样例输入 #1
1
10 2
样例输出 #1
1
121
提示
保证 $x,n$ 以及答案都在 $64$ 位无符号整数的表示范围内。
题目分析
- 每个禽兽在每轮会传染 $x$ 个禽兽,因此在第 $i$ 轮结束时,传染的禽兽数量是前一轮的数量乘以 $(x + 1)$。
- 初始时只有一个禽兽,因此在第 $0$ 轮时,传染的禽兽数量为 $1$。
- 通过循环 $n$ 次,计算每一轮的传染数量,并累加到总数中。
- 最终输出被传染的禽兽总数。
示例代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
int main() {
long long a, b; // 定义两个长整型变量 a 和 b
cin >> a >> b; // 从标准输入读取 a 和 b 的值
long long ans = 1; // 初始化答案为 1
// 循环 b 次,计算被传染的禽兽数量
for (long long i = 0; i < b; i++) {
ans = ans + ans * a; // 更新答案,当前答案加上当前答案乘以 a
}
cout << ans; // 输出最终的答案
return 0; // 返回 0,表示程序正常结束
}
所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code
题目已加入洛谷Java、C++初学团队,作业清单,可在线评测,团队名额有限,欢迎加入。
本文由作者按照 CC BY 4.0 进行授权