| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦   
共有 853 人关注过本帖
标题:猴子吃桃问题
收藏  订阅  推荐  打印

猴子吃桃问题

猴子第一天摘若干个桃,当即吃了一半,还不过瘾,又多吃了一个,以后每天早上都吃剩下的一半并多吃一个,直到第十天早上只剩一个,编程求第一天共摘了多少桃子

TOP

这好像很简单

#include<iostream.h>
void main(){
int day ,x1,x2;
day=9;x2=1;
while(day>0){
x1=2*(x2+1);
x2=x1;
day--;}
cout<<x2<<endl;}
已在vc6.0上运行了,答案是1534
不信试试

TOP

谢谢!能不能加点注释

能不能加点注释,代表每一句语句的用意

TOP

到这求解
#include<iostream.h>
void main(){
int day ,x1,x2;
day=9;x2=1; x2=1 表示第十天的一个桃子
while(day>0){
x1=2*(x2+1);  第十天一个桃子+1 乘以2 就是第九天的 以此类推
x2=x1;        
day--;}
cout<<x2<<endl;}

TOP

倒着求解!!!

TOP

递归求解

递归求解

TOP

用个循环就可以了...
学习需要安静。。海盗要重新来过。。

TOP

递归,循环都可以,方法很多

TOP

#include <iostream.h>
void main()
{
    int remain(int n);//前n天剩下的桃子
    cout<<remain(10);
    cout<<endl;
}
int remain(int n)
{
    if(n==1)             //第十天剩下
        return(1);
    else
        return(2*(remain(n-1)+1));
}

TOP

递归的话 如果数字很大发费他多了吧

TOP

共有 852 人关注过本帖
发新话题
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.097722 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved