郑州网站建设找汉狮,苏州网站制作 网站,已备案网站域名,企业网站建设尚未实现宣传功能题目内容
喝汽水问题
喝汽水#xff0c;1瓶汽水1元#xff0c;2个空瓶可以换一瓶汽水#xff0c;给20元#xff0c;可以喝多少汽水#xff08;编程实现#xff09;。
题目分析
数学思路分析
根据给出的问题和引用内容#xff0c;我们可以得出答案。
首先#xff…题目内容
喝汽水问题
喝汽水1瓶汽水1元2个空瓶可以换一瓶汽水给20元可以喝多少汽水编程实现。
题目分析
数学思路分析
根据给出的问题和引用内容我们可以得出答案。
首先我们用20元购买了20瓶汽水现在有20个空瓶。
接下来我们将这20个空瓶兑换成新的10瓶汽水。
然后将这10个空瓶再次兑换成新的5瓶汽水此时还剩下一个空瓶。
我们将这个剩余的空瓶与后面的空瓶结合兑换得到1瓶新的汽水。
因此到目前为止我们总共获得了2010521139瓶汽水。
所以给了20元我们可以喝到39瓶汽水。
编程思路分析
思路一 循环实现
total 20; //汽水总数 int k 0; //空瓶数 int s 0 ; //剩余空瓶
第一次k20)。
第二次k20/210,s20%20,此时total又增加10了
第三次k10/25,s10%20);
第四次k5/22, s5%21,)
第五次k2/21,s2%20)
s1)。
#includestdio.h
#includestdlib.h
int main()
{int total 20; //汽水总数int k 0; //空瓶数int s 0 ; //剩余空瓶k 20;while(k1){k ks;total totalk/2;//原有的汽水数换来的汽水数s k%2;kk/2;//两个空瓶子换1个新汽水汽水喝完就是1个瓶子}printf(%d\n,total);system(pause);return 0;
}思路二 递归实现
第一次和第二次买汽水 分别花了一块钱2
从第三次开始每次去花一块钱买汽水再加上用第一次和第二次的空瓶子可以换来一瓶一共可以获得两瓶汽水2
第四次拿着第三次那两空瓶子再花一块钱又可以得到两瓶汽水2
第五次第六次以此类推接下来的每一次都是相当于花1元钱和两个空瓶子来获得两瓶新的汽水。
那么到最后一次时手里已经没有钱了即此时只有两个空瓶子换来一瓶汽水1。
把去买汽水的过程定义为一个函数就可以递归计算最终结果。
#includestdio.h
#includestdlib.h
int Buy(int money)
{if(money1)return 1;else return Buy(money-1)2;
}
int main()
{int money 20;printf(%d\n,Buy(money));system(pause);return 0;
}