爬动的蠕虫(C++)
生活随笔
收集整理的這篇文章主要介紹了
爬动的蠕虫(C++)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
問題描述:
一條蟲子在n英寸深的井底,每次一分鐘爬行u英寸,但是它再次爬行前必須先休息1分鐘,在休息過程中它將滑落d英寸,在反復(fù)向上爬行和休息后,多長(zhǎng)時(shí)間蟲子能爬出這口井?在此過程中,分鐘的小數(shù)部分向上取整,如果攀爬結(jié)束時(shí)蟲子正好到達(dá)井口的頂部,則視為蟲子已經(jīng)爬出。假定d<u,n<100,當(dāng)n=0時(shí)輸入結(jié)束。
輸入形式:
輸入包括多個(gè)測(cè)試用例。每行包含3個(gè)整數(shù)n,u,d,為上面所提到的值。
輸出形式:
每個(gè)測(cè)試用例輸入一行,表示蟲子爬出井的時(shí)間。
樣例輸入:
10 2 1
20 3 1
0 0 0
樣例輸出:
17
19
思路:直接暴力,while(1)控制多組數(shù)據(jù)輸入,遇到n=0結(jié)束;time為每爬或者落一次時(shí)間為1min,先爬然后time++,然后判斷是否爬出去了,若沒爬出去,再落time++,直到爬出去為止。
#include <iostream> #include <stdio.h> using namespace std;int main() {int n,u,d,time=0,s=0;while(1){scanf("%d%d%d",&n,&u,&d);if(n==0)break;else{s=0;time=0;while(s!=n){s+=u;time++;if(s>=n)break;time++;s-=d;}}printf("%d\n",time);}return 0; }總結(jié)
以上是生活随笔為你收集整理的爬动的蠕虫(C++)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 非常好友(C++)
- 下一篇: 颐和园早上几点开门,门票多少