java猴子分桃_算法——猴子分桃

想做些有关“算法”的练习题,在网上无意间看到了一道很经典的算法题——猴子分桃,于是百度了一下,才发现这道题的相关文档很多很多,但最多的也就是使用C++或者Java来解决这道题,而自己也是初次接触C++。

1.先介绍一下C++使用最常见的编辑器——dev cpp.附上下载地址:(http://bloodshed-dev-c.en.softonic.com/download);

2.

418239a860ea140018f5fb908347d64c.png

3.接着选好所要下载好的地址;

4.剩下的事情就是“一路默认”,直至安装完成。

然后就剩启动Dev C++

5bccc4493dc3a9387ac27c625823d162.png,启动完Dev c++后,就先新建一个项目吧:可以按ctrl+N或者直接点“文件”——“新建”——“源代码”;待你写好代码,然后就需要

210019822119fe630f35024e792082fc.png

点击运行之后,先选择“运行”——“编译”——“运行”或者直接点击“运行”——“编译运行”就可以运行项目了。

还有一种新建项目的方法:

a0fd2764038009388475c43f74d5013c.png

“文件”——“新建”——“工程”,然后按上图选择Console Application,再写好文件名即可。运行方法同上。只是首次在运行C++代码时,居然出现了“闪屏”的现象,最后原来是在return 0之前加上一句“ system("PAUSE"); ”,,,,,有的时候加上“getchar();”貌似也可以使程序正常运行。(两者的区别,我也不太懂。。。。)

附上C++的第一道算法题:

/**海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只 * 猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了 * 一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的, 问海滩上原来最少有多少个桃子?**/

运行C++代码:

#include #include

int monkey_peach(intn)

{int *p;inti;

p= (int *)malloc(n * sizeof(int));if (p ==NULL)return -1;

p[0] = 1;while (1)

{for (i = 1; i < n; i++)

{if ((p[i-1] * 5 + 1) % 4 != 0)break;

p[i]= (p[i-1] * 5 + 1) / 4;

}if (i >=n)break;

p[0]++;

}for (i = 0; i < n; i++)

{

printf("%d", p[i]);

}

printf("\n");

printf("peach count = %d.\n", 5 * p[n-1] + 1);return 0;

}intmain()

{

monkey_peach(5);

system("PAUSE");return 0;

}

只是现在看这段C++的代码,自己还欠缺理解,再研究研究……

运行结果:

d6d15aaaf304e29994184d30e38906ab.png

突然也就觉得C++很神奇,愿自己以后多学学!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值