每三个酒瓶换一瓶酒,编写 参数为有多少个酒瓶,最后返回能喝多少瓶酒。
解决方案 »
- Ftp获取指定路径下文件夹和文件信息 ,报错:由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
- 关于输出js脚本问题
- 像QQ一样功能的网页间发送消息
- 有大连.NET的哥们吗?
- 请问如何把SUB(11,56)中的11,56分离出来赋给values[0][0] = 11;values[0][0] = 56;
- 数据读取到xml
- 简单问题,从html控件到web控件
- 关于网站上传到空间服务器验证控件失效
- 录入校验的问题
- 小妹静侯哥哥佳音……:)
- 我想动态生成模板,但在postback后,ListView的LayoutCreated事件中,无法读取页面其它控件(非listview里面的)的修改后的值
- 关于Gridview上 SelectedIndexChanged事件的问题
//32 剩2个
public int money = 22;
protected void Page_Load(object sender, EventArgs e)
{
int result = 0;
int pingzi = 0;
Count(ref result, ref pingzi);
Response.Write(result + "=" + pingzi);
}
public void Count(ref int result, ref int pingzi)
{
money--;
result++;
pingzi++;
if (pingzi % 3 == 0)
{
money++;
pingzi = 0;
}
if (money > 0)
Count(ref result, ref pingzi);
}
Module Module1 Dim count As Integer = 0
Dim empty As Integer = 0 Sub Main() Drink(100) Console.ReadKey() End Sub Sub Drink(ByVal bottle As Integer) Dim wine = bottle \ 3 empty = ((bottle Mod 3) + wine) count += wine
Console.WriteLine("换来了{0}瓶酒", wine) If empty < 3 Then Exit Sub Drink(empty) End SubEnd Module
private int test(int sum)
{
int i = 0;
int tempNumber = 0;
while (sum + tempNumber >= 3)
{
i += sum;
sum += tempNumber;
tempNumber = sum % 3;
sum = sum / 3;
}
return i;
}
private int test(int sum)
{
int i = 0;
int tempNumber = 0;
while (sum + tempNumber >= 3)
{
i += sum;
sum += tempNumber;
tempNumber = sum % 3;
sum = sum / 3;
}
return i + sum;
}
{
return 瓶子数 / 2;
}
private int newWines(int nowWines, int emptyBottles)
{
if (emptyBottles >= 3)
return newWines(nowWines + emptyBottles / 3, emptyBottles / 3 + emptyBottles % 3);
else
return nowWines;
}
protected void test(int num) // num是空瓶的数量
{
int result = 0;
while (num / 3 > 0)
{
result = result + (int)num / 3;
num = (int)num / 3 + num % 3;
}
Response.Write(result);
}
我觉得这样就可以了,没有各位前辈的那么复杂。是不是我还有哪些没考虑到??但题目很简单:拿空酒瓶去换酒,看最多能喝多少
protected void Page_Load(object sender, EventArgs e)
{
int pz = 25; HeJiu(ref pz, out jiu);
lblShow.Text = "最多能喝" + jiu + ",剩余的瓶子" + pz;
} private void HeJiu(ref int pz, out int jiu)
{ jiu = 0;
while (pz >=3)
{
if (pz % 3 ==1)
{
jiu++;
pz=pz - 3;
}
else if (pz % 3 == 2)
{
jiu++;
pz = pz - 3;
}else if(pz % 3 ==0)
{
jiu++;
pz=pz - 3;
}
}
}
//每三个空酒瓶换一瓶酒,编写 要求参数为有多少个空酒瓶,最后返回能喝多少瓶酒。
void GetWinebottleNumber(int bottleNumber)
{
int iResult = 0,iTemp = 0;
//iResult += bottleNumber;
do
{
iTemp = bottleNumber/3;
iResult += iTemp;
bottleNumber = bottleNumber % 3 + iTemp;
}
while(bottleNumber>=3);
CString strResult;
strResult.Format(_T("喝%d余%d"),iResult,bottleNumber);
MessageBox(NULL,strResult,NULL,MB_OK);
}
{
int i=23;
int result = 0;
while (i > 2)
{
result++;
i -= 2;
}
Console.WriteLine(result);
}
应该是这样
int i = 22;
int result=0;
if (i > 2)
{
if (i % 2 == 0)
{
result = i / 2 - 1;
}
else
{
result = i / 2;
}
}
Console.WriteLine(result);
public int getDrink(int num)
{
return num / 2;
}两个酒瓶就能喝一瓶酒。
嗯 这样做好像是对的,但是我不清楚,你怎么只用了if else就可以?是怎么想的?我想到的就是用循环 而且很复杂,这里好多回答也都写的很复杂。而这个方法只是简单的if else 想不通 呵呵
private int count = 22;
static void Main(string[] args)
{
Program program = new Program();
program.Count(program.count);
Console.WriteLine("一共能喝" + program.count.ToString() + "瓶水");
}
/// <summary>
/// 计算方法
/// </summary>
/// <param name="x"></param>
private void Count(int x)
{
if (x > 3)
{
int age = x / 3;//获得能换多少个水
int temp = x % 3;//获不能换余下来的瓶子
count = count + age;
Count(age + temp);
}
}