c語言猴子吃桃
『壹』 c語言猴子吃桃
一個猴子摘了一些桃子,它每天吃了其中的一半然後再多吃了一個,
直到第10天,它發現只有1個桃子了,問它第一天摘了多少個桃子?
猴子分N天吃完了桃子,要想求出第1天的桃子數,就先要求出第2天的桃子數,.......因此,有:
a1=(a2+1)*2;
a2=(a3+1)*2;
a3=(a4+1)*2;
......
a9=(a10+1)*2;
a10=1;
現在就知道了演算法,我們可以用遞歸來求解:
int qiu(int a,int n)
{
if(n==1) a=1; //第10天就只剩1個了
else a=(a(n-1)+1)*2; //前一天總比後1天多一半加1
}
-------------------------------------
#include<stdio.h>
int qiu(int a,int n);
main(){
int zuih=1,tians=10;//最後一天的個數,天數
long sum;
sum=qiu(1,10);
printf("di yi tian you %ld ge.\n"):
}
int qiu(int a,int n)
{
if(n==1) a=1; //第10天就只剩1個了
else a=(a(n-1)+1)*2; //前一天總比後1天多一半加1
}
『貳』 關於C語言的問題,猴子吃桃!
main()
{
int
i,n;
n=1;
for(i=1;i<=9;i++)
n=(n+1)*2;
printf("%d",n);
}
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語言猴子吃桃多少個
&sum=1;
for(&i=1;i<=10;i++)
{
&sum=$sum*2+1;
}sum最後得到的結果就是總數
『肆』 c語言猴子吃桃子問題怎麼做
1、打開visual C++ 6.0-文件-新建-文件-C++ Source File
『伍』 C語言 猴子吃桃問題
#include"stdio.h"
voidmain()
{
inta=10,b,c=1;
while(--a)
{
b=(c+1)*2;
c=b;
}
printf("猴子的桃子共有:%d ",b);
}
『陸』 C語言 猴子吃桃
#include<stdio.h>
void main()
{int x=1,i;
for(i=1;i<=9;i++)
x=(x+1)*2;
printf("total is %d",x);
}
x是桃的總數。
『柒』 c語言問題:猴子吃桃
#include<stdio.h>
void main()
{
int x=1,n,i;//x是每次吃完後剩下的桃子,n是天
printf("總共吃了幾天:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
x=(1+x)*2;
}
printf("總共有%d個桃子\n",x);
}
『捌』 請用C語言編寫一個程序,「猴子吃桃」問題
如果真是吃到了第10天,我想說這TMD還是猴子嗎?第一天就會撐死!
C代碼在線運行工具
#include<stdio.h>
intmain()
{
intday=10;
intsum=0;
inti=0;
sum=1;
for(i=day;i>=1;i--)//吃之後演算法
{
sum=(sum+1)*2;
}
printf("第%d天吃之後還剩1個,最初有%d個桃子,",day,sum);
printf("第1天吃了%d個桃子; ",sum/2+1);
sum=1;
for(i=day-1;i>=1;i--)//吃之前演算法
{
sum=(sum+1)*2;
}
printf("第%d天吃之前還剩1個,最初有%d個桃子,",day,sum);
printf("第1天吃了%d個桃子。 ",sum/2+1);
return0;
}
第 10 天吃之後還剩1個,最初有 3070 個桃子,第 1 天吃了 1536 個桃子;
第 10 天吃之前還剩1個,最初有 1534 個桃子,第 1 天吃了 768 個桃子。
『玖』 猴子吃桃C語言
我的意見是:你可以採用逆向求總的方法,既然猴子有個習慣:每天都是吃了前一天的一半加上一個,那麼倒數第3天的剩餘桃子數量(即是倒數第二天吃前的桃子數量)就是(1+1)X2,倒數第4天的剩餘桃子數量(倒數第三天吃前的桃子數量)就是((1+1)X2+1)X2,如此類推,條件主要由天數決定,最後即可求出總數(天數是輸入值).
『拾』 c語言問題,關於猴子吃桃
你的錯誤在於:
1.把循環變數直接用於計算,導致循環混亂
2.桃子的個數應該是整數,而你使用了浮點型
3.你使用浮點型估計是因為要除2,但是從數學上分析,結果應該是偶數,所以你可以少窮舉一半的可能性
4.即使使用浮點型,浮點數的比較也不是這樣的
5.說了是10天,你怎麼寫9呢:
#include<stdio.h>
void main()
{
int i,x;int day;
for(i=0;;i+=2)
{
x=i;
for(day=1;day<=10;day++)
x=x/2-1;
if(x==1){
printf("%d\n",i);
break;
}
}
getch();
}