
/*
题目:
啤酒2块钱1瓶,
4个瓶盖换1瓶
2个空瓶换1瓶
问:10块钱可以喝几瓶?
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Serbia
{
class Beers
{
public int Count = 0;
public int pg=0;
public int pz=0;
public int UnitPrice = 2;
public Beers( )
{
}
public Beers(int money)
{
Count= money / UnitPrice;
pg = Count;
pz = Count;
}
public Beers getMaxCount()
{
while (pg / 4 > 0 || pz / 2 > 0)
{
if (pg / 4>0)
{
pg = pg - 4;
pg++;
pz++;
Count++;
}
if (pz / 2>0)
{
pz = pz - 2;
pg++;
pz++;
Count++;
}
}
return this;
}
}
}
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
_Init();
}
private void _Init()
{
richTextBox1.Text= @"
题目:
啤酒2块钱1瓶,
4个瓶盖换1瓶
2个空瓶换1瓶
问:10块钱可以喝几瓶?";
richTextBox1.ReadOnly = true;
}
private Func<int, int, Beers> MCount = (my, credit) =>
{
Beers br = new Beers();
int Count, pg, pz =0;
Count = my / 2;
pg=Count;
pz = Count;
while (pg / 4 > 0 || pz / 2 > 0)
{
if (pg / 4 > 0)
{
pg = pg - 4;
pg++;
pz++;
Count++;
}
if (pz / 2 > 0)
{
pz = pz - 2;
pg++;
pz++;
Count++;
}
}
while ((pg+1) / 4 > 0 || (pz+1) / 2 > 0)
{
pg++;
pz++;
Count++;
if (pg / 4 > 0)
{
pg = pg - 4;
pg++;
pz++;
Count++;
}
if (pz / 2 > 0)
{
pz = pz - 2;
pg++;
pz++;
Count++;
}
pg--;
pz--;
Count--;
}
br.pg = pg;
br.pz = pz;
br.Count = Count;
return br;
};
private void button1_Click(object sender, EventArgs e)
{
label2.Text = "";
Beers be = new Beers(Convert.ToInt16(numericUpDown1.Value));
//Beers be = MCount(Convert.ToInt16(numericUpDown1.Value),3);
be = be.getMaxCount();
int count = be.Count;
int pz = be.pz;
int pg = be.pg;
label2.Text= "一共可以喝" + count + "瓶,剩下" + pz + "瓶子、剩下" + pg + "瓶盖";
}