当前位置:首页 » 编程语言 » c语言猴子偷桃

c语言猴子偷桃

发布时间: 2022-04-23 03:47:49

⑴ 用c语言怎么做猴子偷桃

#include <stdio.h>
#include <stdlib.h>
int gouzitigui(int n){
printf("xxxxxxxxxxxxx\n");
if(n==1){
return 1;
}else{
return (gouzitigui(n-1)+1)*2;
}
}
int main()
{
int i,n=1;

printf("猴子最初有%d个桃子",gouzitigui(10));
return 0;
}
从题目中可以得出后一天是前一天加1乘以2,

⑵ 用链表(C语言)解决解决猴子偷桃问题

#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,j;
j=1;
for(i=1;i<10;i++)
{
j=2*(j+1);
}
printf("第一天摘桃子的个数为%d\n",j);
return 0;
}

⑶ 猴子摘桃!C语言,老是输出自己的值,新人求教

#include<stdio.h>
intq(inta)
{
inti;
intb=1;
intc;
for(i=1;i<=a-1;i++)
{
c=2*(b+1);
b=c;
}
returnc;
}
intmain(void)
{inta;

while(~scanf("%d",&a))
{if(a!=1)
{
printf("%d ",q(a));}
elseprintf("1 ");
}

⑷ c语言程序猴子偷桃问题

#include<stdio.h>

int main()

{

int i,n=1;

for(i=9;i>0;i--)

n=(n+1)*2;

printf("the number of all peach is %d ",n);

return 0;

}


⑸ 猴子摘桃问题我写的c语言程序哪里出错了。

#include <stdio.h>
int ok(long n)
{
int i,count;
count=0;
for(i=0;i<5;i++)
{
if(n%5!=1)
break;
else
{
n=(n-1)/5*4;
count++;}
}
return count;
}
void main()
{
int ok(long n);
int k,l,a[1000];
long n;
l=0;
for(n=6;n<100000;n++)
{
if(ok(n)==5)
{
//printf("%d\n",n);
a[l]=n;
l++;
}
}
printf("一共有%d种方案\n",l);
for(k=0;k<l;k++)
{
printf("若猴子拿到和吃掉的桃总数为:");
printf("%d\n",a[k]);
printf("则每只猴子拿到和吃掉的桃数\n");
printf("第一只猴子拿到和吃掉的桃数:");
printf("%d\n",a[k]=(a[k]-1)/5+1);
printf("第二只猴子拿到和吃掉的桃数:");
printf("%d\n",a[k]=(4*a[k]-1)/5+1);
printf("第三只猴子拿到和吃掉的桃数:");
printf("%d\n",a[k]=(4*a[k]-1)/5+1);
printf("第四只猴子拿到和吃掉的桃数:");
printf("%d\n",a[k]=(4*a[k]-1)/5+1);
printf("第五只猴子拿到和吃掉的桃数:");
printf("%d\n",a[k]=(4*a[k]-1)/5+1);
printf("*********************************************************\n");
}
}
//你的程序没控制好变量

⑹ 用递归解决猴子偷桃问题

使用数组的方法为:
#include "stdafx.h"
int main(int argc, char* argv[])
{
int a[10],i,j;
a[0]=1;
for(i=1;i<10;i++)
{
a[i]=(a[i-1]+1)*2;
}
printf("一共有桃子的个数为:%d",a[9]);

return 0;
}

用递归的方法为:
#include "stdafx.h"
int fun(int y)
{
int m;
if(y==1) return
m=1;
else
m=(fun(y-1)+1)*2;
return m;

}

int main(int argc, char* argv[])
{
int a=10;
b=fun(a);
printf("一共有桃子的个数为:%d",b);
return 0;
}

本人不会用链表进行编写!

⑺ C语言作业:用递归法怎么做猴子摘桃知道的大哥大姐帮帮忙!

猴子摘桃问题

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

#include<stdio.h>

intgetPeachNumber(n){
intnum;/*定义所剩桃子数*/
if(n==10)
return1;/*递归结束条件*/
else{
num=getPeachNumber(n+1)*2+2;/*递归*/
printf("第%d天所剩桃子%d个 ",n,num);/*天数,所剩桃子个数*/
}
returnnum;
}

intmain(void){
intnum=getPeachNumber(1);
printf("猴子第一天摘了%d个桃子。 ",num);

getch();/*屏幕暂留*/
return0;
}

运行结果

⑻ c语言:猴子分桃

呵呵,最近怎么一直看到猴子分桃。答案是620~

#include <iostream>

using namespace std;

float superMonkey(int n,int n2)
/**参数说明:n是几只猴子。n2是最后最迟醒来的猴子拥有的桃数,比如在你的题目最迟醒来的猴子最少最少都要有6个桃子,才能分成五份,再吃掉剩下的一个。**/
{
if (n==1) return n2;
float x;
x = (5 * (superMonkey(n-1,n2)+1))/4;
return x;

}

int main(int argc, char *argv[])
{
for(int i=6; i<=300;i++)
{
cout<<superMonkey(5,i)<<"\n";//5只猴子,为了找出原先最少必须有几个,用循环求答案直到找到一个整数。
}
cin.get();
}

/**接下来出现的一堆数字就是一开始的桃数。不能有小数点的,所以要找的是第一个出现的整数。我放300次循环因为我稍微试过了,620是原先必须有的最少桃数(第一个出现的整数就是620啊)。你可以稍微改改,放个检测整数的函数,就不用看到一堆数字了。还可以该题目成10只猴子什么的。**/

⑼ C语言猴子吃桃问题递归法

题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下
的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
1.程序分析:采取逆向思维的方法,从后往前推断。
2.程序源代码:
main()
{
int day,x1,x2;
day=9;
x2=1;
while(day>0)
{x1=(x2+1)*2;/*第一天的桃子数是第2天桃子数加1后的2倍*/
x2=x1;
day--;
}
printf("the total is %d\n",x1);
}
==============================================================

⑽ C语言转化方程。 猴子摘桃

这道题我的c语言书上有。给你看一下:
假设第一天有a1个桃,第二天有a2个,……,第九天有a9个,第10天有a10个。在这里面只有a10=1是知道的,我们要计算a1,而我们可以看出,a1~a10存在着简单的联系:
a9=2(a10 1)
a8=2(a9 1)
a7=2(a8 1)

a1=2(a2 1)
由此我们可以看出这是一个递推关系。

热点内容
安卓手机如何拍视频和苹果一样 发布:2025-05-18 03:40:47 浏览:727
为什么安卓手机连不上苹果7热点 发布:2025-05-18 03:40:13 浏览:797
网卡访问 发布:2025-05-18 03:35:04 浏览:504
接收和发送服务器地址 发布:2025-05-18 03:33:48 浏览:365
ef数据库查询数据 发布:2025-05-18 03:29:36 浏览:668
百度云下载文件夹 发布:2025-05-18 03:17:33 浏览:674
php云开发 发布:2025-05-18 03:12:41 浏览:447
sql语句显示表 发布:2025-05-18 03:12:30 浏览:690
数据库系统的例子 发布:2025-05-18 03:02:42 浏览:191
数字化储存与编译是什么 发布:2025-05-18 02:56:55 浏览:217