某人有15個空啤酒瓶,已知4個啤酒瓶可以換一瓶啤酒,問一共可以換多少瓶瓶酒。
答案是5瓶,因為最後剩余三個可以找老板借一個空瓶,等喝完後還給老板。
前天的C#課上,想到用C#編寫。
實現如下。

//design by superdont

//
[email protected]
using System;

class Doloop


...{

public static void Main()


...{

int[] a =new int[10];

//用於存放當前的空酒瓶個數

int[] b = new int[10];

//用於存放可以換取的酒的瓶數

int[] c = new int[10];

//用於存放每次換取後,剩余的不足4個的酒瓶個數

a[0] = 15;

int sum = 0;

int i;

for (i = 0; i < 10; i++)


...{

b[i] = a[i] / 4;

c[i] = a[i] % 4;

a[i + 1] = c[i] + b[i];

if (a[i + 1] <= 3)


...{

if (a[i + 1] == 3)

b[i+1] = 1;

//如果最後剩余三個,可以找老板借一個空瓶,多換一瓶啤酒

break;

}


}


for (i = 0; i < 10; i++)


...{

Console.Write(" {0}", a[i]);

}

Console.WriteLine();

for (i = 0; i < 10; i++)

Console.Write(" {0}", b[i]);

Console.WriteLine();

for (i = 0; i < 10; i++)

Console.Write(" {0}", c[i]);

for (i = 0; i < 10; i++)

sum = sum + b[i];

//求各次累計的和,即為總計可以換取的瓶數

Console.WriteLine();

Console.WriteLine("可以換取的啤酒評述為:");

Console.WriteLine(sum);

}