猴子吃桃问题 女爷i 2022-05-31 05:51 177阅读 0赞 **猴⼦第⼀天摘下若**⼲**个桃⼦,当即吃了⼀半,好不 过瘾,又多吃了⼀个。第⼆天早上又吃了剩下的桃⼦的⼀半,又多吃 了⼀个。以后每天都吃了前⼀天剩下的⼀半零⼀个,到第 10 天早上想 再吃的时候,就剩下⼀个桃⼦。求第⼀天共摘多少个桃⼦。** ** 分析:第10天剩一个桃,那么可倒推出第九天吃了几个桃,则(1+1)\*2,依次类推,则总结出的规律是前一天的基础上+1再乘以2,则是当前天数吃了的桃子。** ** 10 9 8 7 6 5 4 3 2 1** **【1】 【4】 【10 】 .....................................................................................................** ** 求第一天共摘了多少个桃子?** **方法一:for循环** #include<stdio.h> #include<stdlib.h> int main() { int sum = 1; printf("它第10天一共摘了1个桃子!\n"); for (int i =9; i >0; i--) { sum = (sum + 1) * 2; printf("它第%d天一共摘了%d个桃子!\n", i,sum); } system("pause"); return 0; } ![20180209211645379][] **方法二:while循环** #include<stdio.h> #include<stdlib.h> int main() { int i = 9, sum = 1;//倒推前九天的,已知第十天的个数 while ( i >0) { sum = (sum + 1) * 2;//计算个数 i--; } printf("它第1天一共摘了%d个桃子!\n", sum); system("pause"); return 0; } ![20180209211702817][] [20180209211645379]: /images/20220531/d03fa6b39810441b8eaeb50dc7096652.png [20180209211702817]: /images/20220531/c5548efa9c3f4bc785ac0e0b8622c2b4.png
还没有评论,来说两句吧...