當前位置:首頁 » 編程語言 » 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:02:42 瀏覽:191
數字化儲存與編譯是什麼 發布:2025-05-18 02:56:55 瀏覽:217
個人網站模板源碼 發布:2025-05-18 02:51:17 瀏覽:490
主伺服器ip地址 發布:2025-05-18 02:46:29 瀏覽:856
電腦配置太低玩不了絕地求生怎麼辦 發布:2025-05-18 02:38:39 瀏覽:797
存儲過程怎麼出錯了 發布:2025-05-18 02:37:16 瀏覽:368
32寸演算法 發布:2025-05-18 02:22:14 瀏覽:744
寶塔資料庫備份 發布:2025-05-18 02:14:18 瀏覽:193
安卓商店下載的光遇是什麼服 發布:2025-05-18 02:13:38 瀏覽:32
網頁挖礦源碼 發布:2025-05-18 02:13:34 瀏覽:308