1 条题解

  • 0
    @ 2025-8-24 21:17:39

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar 蒟蒻whker
    以梦为马,不负韶华||ZJ小升初蒟蒻一枚 ||看主页QWQ||求关

    搬运于2025-08-24 21:17:38,当前版本为作者最后更新于2025-03-01 13:28:12,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    循环结构,考察 while 循环的使用。

    每隔 11 小时每颗海洋宝宝都会生出 kk 颗新的海洋宝宝,也就是说,每过 11 小时,海洋宝宝的数量就会变成原来的 k+1k+1 倍。
    因此,只需要一个 while 循环,每次循环时判断是否凑够了 mm 颗,凑够了,就输出答案,否则,就让数量就会变成原来的 k+1k+1 倍,并增加时间。

    注意:本题需要开 long long,否则会90分。

    可以结合代码理解。

    #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.
    }
    
    • 1

    信息

    ID
    11587
    时间
    1000ms
    内存
    512MiB
    难度
    1
    标签
    递交数
    0
    已通过
    0
    上传者