注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

simonzhang个人观点

http://www.simonzhang.net 镜像地址

 
 
 

日志

 
 

猴子们的问题  

2012-02-03 14:45:02|  分类: 技术杂类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

【2012 张子萌】
其实此问题比较容易,在网上也有很多版本。为了学习我自己做了一下,在CeotOS5.4系统编译调试通过。

猴子分桃子:有5只猴子在海边发现一堆桃子,决定第二天来平分.第二天清晨,第一只猴子最早来到,它左分右分分不开,就朝海里扔了一只,恰好可以分成5份,它拿上自己的一份走了.第2,3,4,5只猴子也遇到同样的问题,采用了同样的方法,都是扔掉一只后,恰好可以分成5份.问这堆桃子至少有多少只.

#include <stdio.h>

main ()
{
    int monkeys,peach=0,all_peach;
    do
    {
        peach=peach+1;
        all_peach=peach;
        for (monkeys=5;monkeys>0;monkeys--)
        {
            all_peach=all_peach*5+1;
        }
    }while (((all_peach-1)/2)==0);
    printf("==>%d\n",all_peach);
}


结果如下:
# ./test
==>3906


猴子吃桃子:猴子第一天摘下N个桃子,当时就吃了总数的一半,还不过瘾,
就又吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。
以后每天都吃前一天剩下的一半零一个。
到第9天在想吃的时候就剩一个桃子了,求第一天共摘下来多少个桃子?


#include <stdio.h>

main ()
{
    int days,peach=1;
    for(days=9;days>0;days--)
    {
        peach=(peach+1)*2;
    }
    printf("==>%d",peach);
}

结果如下:
# ./test
==>1534



猴子选大王:n只猴子围坐成一个圈,按顺时针方向从1到n编号。
然后从1号猴子开始沿顺时针方向从1开始报数,报到m的猴子出局,
再从刚出局猴子的下一个位置重新开始报数,如此重复,直至剩下一个猴子,
它就是大王。

#include <stdio.h>

main ()
{
    int monkeys,num;
    int loops,kings;
    int i,j=-1;
    printf("pleas input monkey amonut:");
    scanf("%d",&monkeys);
    printf("pleas input num:");
    scanf("%d",&num);
    int m_k[num];
    for (i=0;i<monkeys;i++)
    {
        m_k[i]=1;
    }          
    kings=monkeys;
    //start choose king
    do
    {
        loops=num;
        while(loops>0)
        {
            j=j+1;
            if (j>monkeys-1) j=0;
            if (m_k[j]==1)
                loops=loops-1;
        }
        m_k[j]=0;
        kings=kings-1;
    }while(kings>1);
    for (i=0;i<monkeys;i++)
    {
        printf("%d ",m_k[i]);
    }
}

结果如下:
# ./test
pleas input monkey amonut:6
pleas input num:2
0 0 0 0 1 0
  评论这张
 
阅读(644)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017