专栏文章

题解:B4182 [中山市赛 2024] 海洋宝宝

B4182题解参与者 3已保存评论 4

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
4 条
当前快照
1 份
快照标识符
@miq3w9r7
此快照首次捕获于
2025/12/03 22:32
3 个月前
此快照最后确认于
2025/12/03 22:32
3 个月前
查看原文
循环结构,考察 while 循环的使用。
每隔 11 小时每颗海洋宝宝都会生出 kk 颗新的海洋宝宝,也就是说,每过 11 小时,海洋宝宝的数量就会变成原来的 k+1k+1 倍。
因此,只需要一个 while 循环,每次循环时判断是否凑够了 mm 颗,凑够了,就输出答案,否则,就让数量就会变成原来的 k+1k+1 倍,并增加时间。
注意:本题需要开 long long,否则会90分。
可以结合代码理解。
CPP
#include <bits/stdc++.h>
#define ll long long//不开 long long 见祖宗!
using namespace std;
int main() {
	ll n,k,m,ans=0;//n表示现在有几个海洋宝宝,ans表示过了几个小时
	cin>>n>>k>>m;
	while(n<m){//没到m颗,就一直循环
		n=n*(k+1);//过了一小时,数量变成了原来的k+1倍。
		ans++;//把时间计数器加1
	}
	cout<<ans;//输出最终的答案
	return 0;//The end.
}

评论

4 条评论,欢迎与作者交流。

正在加载评论...