某人有15个空啤酒瓶,已知4个啤酒瓶可以换一瓶啤酒,问一共可以换多少瓶瓶酒。
答案是5瓶,因为最后剩余三个可以找老板借一个空瓶,等喝完后还给老板。
前天的C#课上,想到用C#编写。
实现如下。
//
design by superdont
//
lilizong[at]gmail
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);
}
}