蓝桥杯真题:猴子分香蕉


这题只要理清前后猴子的香蕉数目关系就好了~
注意要用暴力的方法,即从最后一只猴子一堆只有1开始。第一个猴子求第四只猴子四堆的总数只需要乘5就得到了。
对之后的猴子,上一只猴子的四堆总数=当前猴子的五堆总数,也就是说,前一只猴子的香蕉五堆香蕉的总量=当前猴子的五堆总数/4*5+上一只吃掉的。当然,如果当前猴子的五堆总数不被4整除,那我们就直接返回倒数第一只也就是第五只猴子,让初始堆中的香蕉数目加1。直到我们找到一个这样的初始堆中的香蕉数目,使得能够连续出现可计算的五个猴子。最后答案就计算出来了。
代码如下所示:
#include
using namespace std;
int main()
{// 请在此输入您的代码int begin=1;int before;//记录前一次猴子的四堆的总量int ans;int monkey=1;while(true){if(monkey==5) break;if(monkey==1) before=5*begin;if(before%4!=0){monkey=1;begin++;continue;}monkey++;before=before/4*5+6-monkey;}cout<
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
