PTA 7-17 爬动的蠕虫

7-17 爬动的蠕虫(15分)

一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井?

这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的(即高度为0)。

输入格式:

输入在一行中顺序给出3个正整数N、U、D,其中D<U,N不超过100。

输出格式:

在一行中输出蠕虫爬出井的时间,以分钟为单位。

输入样例:

12 3 1

输出样例:

11

题解:

objectivec 复制代码
#include <stdio.h>

int main()
{
    int n = 0, u = 0, d = 0;
    scanf("%d %d %d", &n, &u, &d);
    int sum = 0; // 爬的总路程
    int time = 0; // 所花时间
    while(sum < n)
    {
        time++; // 上爬加1分钟
        sum += u; // 上爬高度
        if(sum < n) // 判断是否爬到井口
        {
            sum -= d;
            time++; // 休息加1分钟
        }
    }
    printf("%d\n",time);

    return 0;
}
相关推荐
丫头,冲鸭!!!3 分钟前
B树(B-Tree)和B+树(B+ Tree)
笔记·算法
Re.不晚8 分钟前
Java入门15——抽象类
java·开发语言·学习·算法·intellij-idea
老秦包你会10 分钟前
Qt第三课 ----------容器类控件
开发语言·qt
凤枭香13 分钟前
Python OpenCV 傅里叶变换
开发语言·图像处理·python·opencv
ULTRA??17 分钟前
C加加中的结构化绑定(解包,折叠展开)
开发语言·c++
远望清一色33 分钟前
基于MATLAB的实现垃圾分类Matlab源码
开发语言·matlab
confiself42 分钟前
大模型系列——LLAMA-O1 复刻代码解读
java·开发语言
XiaoLeisj1 小时前
【JavaEE初阶 — 多线程】Thread类的方法&线程生命周期
java·开发语言·java-ee
杜杜的man1 小时前
【go从零单排】go中的结构体struct和method
开发语言·后端·golang
幼儿园老大*1 小时前
走进 Go 语言基础语法
开发语言·后端·学习·golang·go