有一只长为1cm的小蚂蚁想要爬上一颗高ncm的小草,每一分钟他都能向上爬ucm,但因为体力有限,爬一分钟后要休息一分钟再爬,在这一分钟内会向下滑dcm,问小蚂蚁多久才能爬上小草?
初步分析可知此过程分为两个阶段:一、爬上又滑下
二、最后一段距离小于等于ucm,小蚂蚁可以直接爬上(一分钟)。
话不多说,直接上程序。
解决方法一
#include<stdio.h>
int main()
{
int n,u,d;
scanf("%d%d%d",&n,&u,&d);
int t=(n-u)/(u-d);u-d;
if(t*(u-d)<(n-u)) t++;
t*=2;
t++;
printf("%d\n",t);
return 0;
}
该类问题其实在c语言中实现十分简单,重要的分析出他的过程,所以在解决此类问题中思维能力格外重要。
下次分享其他思路。