码迷,mamicode.com
首页 > 其他好文 > 详细

关于买桃问题的一点想法

时间:2017-05-14 01:08:07      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:ice   个数   分析   重复   adl   梳理   最大   结果   问题   

初学C#,这几天初步了解了下循环问题,遇到了买桃问题这个案例:“桃子3元一个,3个桃核可以换一个桃子,拥有100元,最多可以吃多少个桃子?”;

这样一个数学问题,想要用代码来实现,首先分析这个问题的思路:

目的是吃最多,100元全部用来买桃子,然后吃光,再用桃核换取桃子,再吃,把新吃的桃核和没用完的桃核相加,再去换取桃子,直到桃核的数量小小于3,此时,剩余的钱和桃核都不足以换取桃子,说明已经吃了最大数量的桃子了;这里面的重复的动作是:

1、换取桃子;2、计算剩余桃核;3、吃掉桃子;4、计算当前所拥有的桃核。重复的条件就是:用的桃核数量,足够换取桃子,一直到所计算的剩余桃核数量小于3为止。

以下是用代码来实现:

int money = 100, price = 3, exchange = 3;     //定义好钱,桃子单价和换桃的桃核数量;
int eated, kernel;
eated = money / price;   //吃到的桃子为最先100元钱能买到的桃子数量
kernel = eated;       
while(kernel>=exchange)
{
//换取桃子
int peach = kernel / exchange;
//计算剩余桃核
int left = kernel % exchange;
//吃掉桃子
eated = eated + peach;
//计算当前拥有的桃核
kernel = left + peach;
}
Console.Write("最多可以吃到"+eated +"个桃子");
Console.ReadLine();

代码不多,这个问题难在于分析过程,所需要考虑到的各种情况,以及清楚其中的循环条件和循环体,比较而言,分析过程比结果难得多,今后遇到此类问题,还需分析梳理出此间各种条件之间的关系。

关于买桃问题的一点想法

标签:ice   个数   分析   重复   adl   梳理   最大   结果   问题   

原文地址:http://www.cnblogs.com/pein123/p/6850896.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!