using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace homework2
{
class Program
{
static void Main(string[] args)
{
//第一題
int numA;
int numB;
int numC;
Console.WriteLine("輸入A值");
numA = int.Parse(Console.ReadLine());
Console.WriteLine("輸入B值");
numB = int.Parse(Console.ReadLine());
Console.WriteLine("輸入C值");
numC = int.Parse(Console.ReadLine());//輸入ABC三值
int tempA=numA;
int tempB=numB;
int mod = tempA % tempB;//宣告暫存變數 mod為輾轉相除法運算用
while (mod > 0)
{
tempA = tempB;
tempB = mod;
mod = tempA % tempB;
}
int GCD = tempB;//GCD為最大公因數之縮寫
if (numC % GCD != 0)
{
Console.WriteLine("此題無解");
Console.ReadKey();
return;//當C無法被最大公因數整除時結束程式
}
tempA = numA / GCD;
tempB = numB / GCD;
int tempC = numC / GCD;
double X = 0;
int Y = 0;
for (Y = 0; Y <= numA; Y++)
{
X = ((double)tempC - (double)(tempB * Y)) / (double)tempA;//因X為浮點數 計算過程需要資料轉型
if (X % 1 == 0)
break;//當X整除1時代表X為整數 即跳脫迴圈 不再進行運算
}
Console.WriteLine("通解為");
Console.WriteLine("X={0}+{1}t", X, tempB);
Console.WriteLine("Y={0}-{1}t", Y, tempA);
Console.WriteLine("t為整數");
Console.ReadKey();
//第二題
int glassOne = 3;
int glassTwo = 5;
int need = 4;//宣告兩杯子之容量以及所需要之水量
int waterOne = 0;
int waterTwo = 0;//宣告兩杯中水量
while (waterOne != need && waterTwo != need)//在其中一杯之水量變成所需值前 持續迴圈
{
if (waterOne == 0)//第一杯中無水為第一種情況
{
waterOne = glassOne;
Console.WriteLine("將第一杯水裝滿");
Console.WriteLine("第一杯中有{0}公升水 第二杯中有{1}公升水\n", waterOne, waterTwo);
}
else//第一杯中有水為另一種情況
{
if (waterTwo + waterOne > glassTwo)//當將第一杯水全數倒入第二杯中會造成滿出來之情況
{
waterOne = waterOne - (glassTwo - waterTwo);
waterTwo = 0;
Console.WriteLine("用第一杯的水將第二杯裝滿後 將第二杯倒掉");
Console.WriteLine("第一杯中有{0}公升水 第二杯水中有{1}公升水\n", waterOne, waterTwo);
}
else//第一杯水全數倒入第二杯中 不會造成滿出來之情況
{
waterTwo = waterOne + waterTwo;
waterOne = 0;
Console.WriteLine("將第一杯的水全數倒入第二杯中");
Console.WriteLine("第一杯中有{0}公升水 第二杯中有{1}公升水\n", waterOne, waterTwo);
}
}
}
if (waterOne == need)//迴圈結束後判斷哪一杯水才是我們要的量
Console.WriteLine("此時第一杯中水量即為所求");
else
Console.WriteLine("此時第二杯中量即為所求");
Console.ReadKey();
}
}
}
2015年3月25日 星期三
[2015][Homework]Team05 - Hw02
訂閱:
張貼留言 (Atom)
GCD==>gcd
回覆刪除glassOne ==> glass1
分水遊戲應該一般化
容器的容量是任意的, 目標水量適任意的