题目大意:
蠕虫在深度为n英寸的井底,每分钟可以向上爬u英寸,爬完一个u英尺后必须用一分钟时间下滑d英寸,求蠕虫爬出井所需时间。
大致思路:
判断n是否大于0即可,但需要每次向上爬u英寸后再进行判断。
c代码:
#include<stdio.h>
int main()
{
int n,u,d;
while(scanf("%d%d%d",&n,&u,&d)==3)
{
int count=0;
if(n==0&&u==0&&d==0)
break;
n-=u,count++;
while(n>0)
{
n+=d,count++;
n-=u,count++;
}
printf("%d\n",count);
}
return 0;
}
c++代码:
#include<iostream>
using namespace std;
int main()
{
int n,u,d;
while(cin>>n>>u>>d)
{
int count=0;
if(n==0&&u==0&&d==0)
break;
n-=u,count++;
while(n>0)
{
n+=d,count++;
n-=u,count++;
}
cout<<count<<"\n";
}
return 0;
}

本文介绍了一个经典的蠕虫爬井问题,并提供了C和C++两种语言的实现代码。蠕虫每分钟向上爬升一定距离后会下滑,直到最终爬出井口。代码实现了计算蠕虫完全爬出井所需的总时间。
476

被折叠的 条评论
为什么被折叠?



