我试图使用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