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;
}
相关推荐
健康平安的活着10 分钟前
java之 junit4单元测试Mockito的使用
java·开发语言·单元测试
No0d1es12 分钟前
电子学会青少年软件编程(C/C++)5级等级考试真题试卷(2024年6月)
c语言·c++·算法·青少年编程·电子学会·五级
DjangoJason2 小时前
C++ 仿RabbitMQ实现消息队列项目
开发语言·c++·rabbitmq
m0_480502642 小时前
Rust 入门 KV存储HashMap (十七)
java·开发语言·rust
大阳1232 小时前
线程(基本概念和相关命令)
开发语言·数据结构·经验分享·算法·线程·学习经验
YA3332 小时前
java基础(九)sql基础及索引
java·开发语言·sql
奇树谦3 小时前
QT|windwos桌面端应用程序开发,当连接多个显示器的时候,如何获取屏幕编号?
开发语言·qt
weixin_307779133 小时前
VS Code配置MinGW64编译GNU 科学库 (GSL)
开发语言·c++·vscode·算法
学行库小秘4 小时前
ANN神经网络回归预测模型
人工智能·python·深度学习·神经网络·算法·机器学习·回归
froginwe114 小时前
HTML 框架:构建网页布局的基石
开发语言