Grasseed / Cola

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

可樂兌換題目

今天有一個商家推出可樂促銷活動,一瓶可樂一元, 「每2瓶空瓶或每4枚瓶蓋即可再換一瓶可樂」, 試算出所有錢買可樂後,最後能喝到幾瓶可樂?

作法

-函式方法

//This is C# code.
public static int CountBottle(int Bottle)
{
  int BottleTop = Bottle, sum = Bottle, EmptyBottle = Bottle;//令瓶蓋為瓶子數,瓶子總數為瓶子數,空瓶子數目為瓶子數
  int RemEmptyBottle, RemBottleTop;//剩餘空瓶數換完瓶子的空瓶數,蓋子換完空瓶子剩下的蓋子數目 
    
  while ((EmptyBottle >= 2) || (BottleTop >= 4))//當空瓶子數目大於等於2或瓶蓋數大於等於4條件成立時,做下列行為
    {
       Bottle = (EmptyBottle / 2) + (BottleTop / 4);//可兌得瓶數 = 空瓶子/2+瓶蓋/4
       RemEmptyBottle = EmptyBottle % 2;//兌換後剩餘瓶數 =  空瓶子/2的餘數
       RemBottleTop = BottleTop % 4;//兌換後剩餘瓶蓋數 =  瓶蓋數/4的餘數
       EmptyBottle = Bottle;//空瓶數=兌得瓶子數
       BottleTop = Bottle;//瓶蓋=兌得瓶子數
       sum += Bottle;//瓶子(含飲料)總數=原始總數+兌得的瓶數
       EmptyBottle += RemEmptyBottle;//空瓶子數=原本的空瓶子數+兌換後剩餘瓶數
       BottleTop += RemBottleTop;//瓶蓋數=原本的瓶蓋數+兌換後剩餘瓶蓋數
    }
    //例如輸入10元,輸出可兌得35瓶可樂
    //a+=b >> a = a+b
    return sum;//回傳總和值
}

-主程式Main()

namespace Cola
{
    class Program
    {
        static void Main(string[] args)
        {
            
            int n;
            Console.WriteLine("今天有一個商家推出可樂促銷活動,一瓶可樂一元,「每2瓶空瓶或每4枚瓶蓋即可再換一瓶可樂」," +
                "試算出所有錢買可樂後,最後能喝到幾瓶可樂?");
            Console.Write("請輸入你想買可樂的錢:");
            n = int.Parse(Console.ReadLine());
            Console.WriteLine("你能兌換到的可樂瓶數:" + CountBottle(n) + "瓶");
            Console.ReadKey();
        }
    }
}

注意事項

小草籽保留最終所有權利

About


Languages

Language:C# 100.0%