C language: There are 100 bananas next to a little monkey. He has to walk 50 meters to get home. Every time he moves at most 50 bananas to his home, how many bananas can he move to his home at most?

code show as below:

/*******************************************************
 *功能:求以下问题
 *一个小猴子边上有100根香蕉,他要走过50米才能到家,每
 *次他最多搬50根香蕉搬到家里,请问它最多能把多少根香蕉
 *搬到家里?(提示:他可以把香蕉放下往返走,但他必须保
 *证每走一米有香蕉吃,也可以走到n米放下一些香蕉拿着n根
 *香蕉回去重新搬50根香蕉)
 *作者:lml   时间:2020年4月25日 13:41
 * *****************************************************/

#include <stdio.h>

int main(int argc, const char *argv[])
{
    
    
	int i,j; //i是走多少步返回去拿香蕉,j是最后剩下的香蕉数
	
	for(i=1;i<=50;i++)
	{
    
    
		j=(100-3*i)-(50-i);       //3*i是开始到i的位置,共走三次,50-i是最后走的那一段
		if(100-3*i<=50 && j >=0){
    
     //100-3*i<=50是第二次剩下的香蕉<=50,否则拿不完
			printf("i:%d \n",i);
			printf("j:%d \n",j);
		}
	}
	
	//最后的结果剩下最多的香蕉数是j的最大值是16
	//此时i=17
	return 0;
}

Finish.

Guess you like

Origin blog.csdn.net/qq_19693355/article/details/105748707