using System;
namespace 汽水问题递归实现
{
class Program
{
public static void Main(string[] args)
{
int Color_Num=20;
Color_Num=Color_Num+Color(20);
Console.WriteLine("最后喝的汽水数为:{0}",Color_Num);
Console.ReadKey(true);
}
/// <summary>
/// 计数空瓶换汽水喝的函数。
/// </summary>
/// <param name="Num">Num代表汽水瓶的数量</param>
/// <returns></returns>
static int Color(int Num)
{
if(Num/2<1)//如果不能换递归结束
{
return 0;
}
else
{
//Num/2为兑换的汽水瓶数,Num/2+Num%2代表:汽水瓶子数量=兑换的汽水数+余下的空瓶数。
return Color(Num/2+Num%2)+Num/2;
//返回能兑换的+已兑换的.就会递归得到最后的汽水数。
}
}
}
}
QQ截图20121014202445.png (27 KB, 下载次数: 108)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |