我試圖使用while loop
來計算最大公約數。因此我在尋找最大的數字(即循環的最後一個值)。我如何擺脫前面的數字?僅返回上次迭代的值
例如: 84和18的最大公約數是6.但是,我的代碼給了我2,3和6的數字。我需要更改哪些數據才能獲得最後的數字?
using System;
namespace CalculateGCD
{
class Program
{
static void Main(string[] args)
{
int a = int.Parse(Console.ReadLine());
int b = int.Parse(Console.ReadLine());
int i = 1;
while (i <= Math.Min(a, b))
{
i++;
if (a % i == 0 && b % i == 0)
{
Console.WriteLine("GCD:{0}", i);
}
}
}
}
}
從閱讀這個問題,我假設OP是java的初學者。顯示包含三元運算符和遞歸的示例而沒有進一步解釋它可能是沒有用的。這隻會導致複製代碼。 –
好吧,當然沒問題,我只是試圖展示最簡單的方法:)順便說一句,它不是一個Java程序 – Mostafiz
我是C#的初學者,我正在處理的作業要求我使用循環來查找GCD。不過,我很欣賞你的解決方案。 – VaVa