笔者在刷dy时,刷到的一个视频里的题。
一根弹性均匀的橡皮筋长5米,
一只小蚂蚁从一端爬向另一端。
小蚂蚁每天沿着橡皮筋爬一米。
小蚂蚁每爬一米,橡皮筋就被瞬间拉长5米
问多少天小蚂蚁可以爬到橡皮筋的另一端。
理想条件下,小蚂蚁不会死,橡皮筋不会被拉断。
#include<stdio.h>
#include<math.h>
int main()
{
/*double len=5,ant_len=0,last_len=5,day=0;
while(1)这种方法是记录每次蚂蚁的位置,直到蚂蚁位置超过橡皮筋末端
这种方法是倍数放大版解法
{
ant_len++;
len+=5;
double divid=(len/last_len);
last_len=len;
ant_len*=divid;
day++;
if(ant_len>=len) break;
}
printf("%lf",day);
*/
double len=5,last=5,ant=0,day=0;/*这种是收缩版*/
while(1)
{
ant++;
double divi =(ant/last);
len+=5;
last=len;
ant=len*divi;
day++;
if(ant>=last) break;
}
printf("%lf",day);
return 0;
}
笔者愚笨,大家看看有没有什么新的思路。 可以在评论区交流