7-17 爬動的蠕蟲(15 分)


一條蠕蟲長1寸,在一口深為N寸的井的底部。已知蠕蟲每1分鍾可以向上爬U寸,但必須休息1分鍾才能接着往上爬。在休息的過程中,蠕蟲又下滑了D寸。就這樣,上爬和下滑重復進行。請問,蠕蟲需要多長時間才能爬出井?

這里要求不足1分鍾按1分鍾計,並且假定只要在某次上爬過程中蠕蟲的頭部到達了井的頂部,那么蠕蟲就完成任務了。初始時,蠕蟲是趴在井底的(即高度為0)。

輸入格式:

輸入在一行中順序給出3個正整數N、U、D,其中D<U,N不超過100。

輸出格式:

在一行中輸出蠕蟲爬出井的時間,以分鍾為單位。

輸入樣例:

12 3 1

輸出樣例:

11
/*假設爬行一分鍾,休息一分鍾*/ 
#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;  
 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM