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 小时前
LeetCode 热题100 --- 双指针专区
算法
代码or搬砖6 小时前
String字符串
android·java·开发语言
Suckerbin6 小时前
C语言简介
c语言
leo__5206 小时前
基于两步成像算法的聚束模式SAR MATLAB实现
开发语言·算法·matlab
前端小白在前进7 小时前
力扣刷题:在排序数组中查找元素的第一个和最后一个位置
数据结构·算法·leetcode
Macbethad7 小时前
自动化测试技术报告
开发语言·lua
不会画画的画师7 小时前
Go开发指南:io/ioutil包应用和迁移指南
开发语言·后端·golang
2503_928411567 小时前
12.22 wxml语法
开发语言·前端·javascript
5980354158 小时前
【java工具类】小数、整数转中文大写
android·java·开发语言
JIngJaneIL8 小时前
基于java + vue个人博客系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot