C#算法设计之关于1000瓶水的问题

 更新时间:2015年01月30日 15:18:41   作者:ben wu  
这篇文章主要介绍了C#算法设计之关于1000瓶水的问题,是一个比较经典的算法问题,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了C#算法设计之关于1000瓶水的问题。分享给大家供大家参考。具体如下:

题目如下:假设有N瓶水(当然N>0吧)
每喝一瓶后可以得到的一个空瓶子
而 每3个空瓶子又能换1瓶水,喝掉以后又得到一个空瓶子,

问总共能喝多少瓶水,最后还剩余多少个空瓶子?

代码如下:

private int Water(int n, int emptyQty)
{
 Console.WriteLine("喝了" + n + "瓶水,多" + emptyQty + "个空瓶子.");

 if (n + emptyQty < 3) //如果喝完水+空瓶还没有3的话,那就喝完了
 {
 Console.WriteLine("多" + (n + emptyQty) + "个空瓶子.");
 return n;
 }

 int a = (n + emptyQty) / 3; //喝了可换a瓶水
 int b = (n + emptyQty) % 3; //余几个空瓶

 return n + Water(a, b);
}

假设起初是1000瓶的话,调用方法

int sum = Water(1000,0);
Console.WriteLine("喝了" + sum + "瓶水");

希望本文所述对大家的C#程序设计有所帮助。

相关文章

  • C#简单写入xml文件的方法

    C#简单写入xml文件的方法

    这篇文章主要介绍了C#简单写入xml文件的方法,可实现C#针对XML文件简单写入的功能,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • C#实现简单的汽车租赁系统

    C#实现简单的汽车租赁系统

    这篇文章主要为大家详细介绍了C#实现汽车租赁系统的具体实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • 经典的委托排序(深入分析)

    经典的委托排序(深入分析)

    本篇文章是对委托排序进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • 利用C#操作WMI指南

    利用C#操作WMI指南

    WMI提供了一套内置在Microsoft Windows操作系统中的丰富的系统管理服务,可以在有大量的应用程序、服务和设备的系统中提供全方位的管理功能。它允许应用程序的开发者,使用简单的、一致的机制,去查询企业中的任一台计算机上的信息,或是进行系统配置
    2016-11-11
  • C#实现软件开机自启动的示例代码

    C#实现软件开机自启动的示例代码

    这篇文章主要为大家详细介绍了如何利用C#实现软件开机自启动,且不需要管理员权限,文中的示例代码讲解详细,需要的小伙伴可以参考一下
    2023-07-07
  • 浅谈C# 字段和属性

    浅谈C# 字段和属性

    这篇文章主要介绍了C# 字段和属性的的相关资料,文中示例代码非常详细,供大家参考和学习,感兴趣的朋友可以了解下
    2020-06-06
  • C#标识符的使用小结

    C#标识符的使用小结

    C#标识符还是比较常见的东西,这里我们主要介绍C#标识符中的用法,包括介绍 static 的方法和bool 的形参等方面
    2014-01-01
  • 用C#在本地创建一个Windows帐户(DOS命令)

    用C#在本地创建一个Windows帐户(DOS命令)

    用C#在本地创建一个Windows帐户(DOS命令)...
    2007-03-03
  • WPF实现动画效果(六)之路径动画

    WPF实现动画效果(六)之路径动画

    这篇文章介绍了WPF实现动画效果之路径动画,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • 基于C#实现一个简单的FTP操作工具

    基于C#实现一个简单的FTP操作工具

    这篇文章主要为大家详细介绍了如何利用C#实现一个简单的FTP操作工具,可以实现FTP上传、下载、重命名、刷新、删除功能,感兴趣的可以了解一下
    2022-08-08

最新评论