当前位置: 代码迷 >> C语言 >> [求助]分析下循环的这2题
  详细解决方案

[求助]分析下循环的这2题

热度:211   发布时间:2006-03-07 18:09:00.0
[求助]分析下循环的这2题


2、一个百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,该计划如下:我每天给你十万元,而你第一天给我一分钱,第二天我仍然给你十万元,而你给我二分钱,第三天我还是给你十万元,而你给我四分钱……,你每天给我的钱是前一天的两倍,直到满一个月(30天),百万富翁很高兴,欣然接受了这个契约。请编写一个程序计算这一个月中陌生人给了富翁多少钱,而富翁又给了陌生人多少钱?


3、猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第一天共摘多少桃子

搜索更多相关的解决方案: 多少  猴子  百万富翁  陌生人  

----------------解决方案--------------------------------------------------------

第一个问题

#include <stdio.h>

long sum1,sum2;

void moshengren(int d)
{
sum1=d*10;
printf("陌生人付出的钱:%ld万\n",sum1);
}

void baiwanfuweng(int m)
{
int i;
for(i=0;i<m;i++)
{
if(i==0)sum2=1;
else sum2*=2;
}
printf("百万富翁付出的钱:%ld万\n",sum2);
}

void main()
{
moshengren(30);
baiwanfuweng(30);
}


----------------解决方案--------------------------------------------------------
看不懂哦   能解释下流程吗  我只想理解   我还没学到 好多函数看不懂  现在只学到条件  和循环
----------------解决方案--------------------------------------------------------

第二个问题,一个简单的递归问题

#include <stdio.h>

int sum;

int fac(int n)
{
if(n==1)sum=1;
else sum=2*fac(n-1)+1;
return sum;
}

void main()
{
fac(10);
printf("The sum of the peach: %d\n",sum);
}


----------------解决方案--------------------------------------------------------
以下是引用kingyupeng在2006-3-7 18:27:00的发言:
看不懂哦 能解释下流程吗 我只想理解 我还没学到 好多函数看不懂 现在只学到条件 和循环

噢。。。。。。。。那就等你慢慢研究吧
看书看到后面你就会明白了
这两道题都很简单


----------------解决方案--------------------------------------------------------
#include <math.h>
void main()
{
int i;
double cost1=100000.0,cost2=0.01;
for(i=1;i<30;i++)
{
cost1+=100000; //商人到第(i+1)天时,共付出的钱
cost2+=pow(2,i)*0.01; //陌生人到第(i+1)天时,共付出的钱
}
printf("%.2g,%.2g",cost1,cost2);
getch();
}
结果显示比较简单,前一个是商人付出的钱,后一个是陌生人付出的钱。
----------------解决方案--------------------------------------------------------
#include <math.h>
void main()
{
int i,sum=1;
for(i=1;i<10;i++)
sum=2*(sum+1);
printf("%d",sum);
getch();
}
----------------解决方案--------------------------------------------------------
以下是我的个人观点:
pow()函数计算量很大,如果幂是整数的话,我一般会采用循环。
当然上面只是我的物理老师跟我讲的,因为我们的物理老师要进行大量的计算,一般要几个月的计算。


----------------解决方案--------------------------------------------------------
cost2+=pow(2,i)*0.01  这句什么意思呢
----------------解决方案--------------------------------------------------------
  相关解决方案