欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

基础编程题目集 7-17 爬动的蠕虫 (15分)

程序员文章站 2022-03-13 20:51:06
...

基础编程题目集 7-17 爬动的蠕虫 (15分)

方法一:

/*假设爬行一分钟,休息一分钟*/
#include <stdio.h>
int main()
{
    int n, u, d;                //井口高度,上爬量和下滑量
    int time = 0, distance = 0; //虫虫消耗的时间(分钟),距离井底的距离(寸)
    scanf("%i %i %i", &n, &u, &d);
    /**
      * 第1分钟,爬;
      * 第2分钟,滑;
      * 第3分钟,爬;
      * 第4分钟,滑;
      * ...
      * 时间为偶数,虫虫下滑;
      * 时间为奇数,虫虫上爬。
      */
    do
    {
        time++;
        if (time % 2 != 0)
        {
            distance += u;
        }
        else
        {
            distance -= d;
        }
    } while (distance < n);
    printf("%i\n", time);
    return 0;
}

方法二:

#include <stdio.h>
int main()
{
    int n, u, d, time = 0, H = 0;
    scanf("%d%d%d", &n, &u, &d);
    while (1)
    {
        H += u;
        time++;
        if (H >= n)
            break;
        H -= d;
        time++;
    }
    printf("%d\n", time);
    return 0;
}