gpt4 book ai didi

c# - 仅返回最后一次迭代的值

转载 作者:太空宇宙 更新时间:2023-11-03 17:39:16 24 4
gpt4 key购买 nike

我正在尝试使用 while 循环 计算最大公约数。因此,我正在寻找最大的数字(即循环的最后一个值)。我如何摆脱前面的数字?

例子: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);
}
}

}

}
}

最佳答案

定义一个名为 max 的变量,然后像这样在 while 循环中打印出 max:

int max = 0;

while (i <= Math.Min(a, b))
{
i++;

if (a % i == 0 && b % i == 0)
{
max = i;
}
}
Console.WriteLine("GCD:{0}", max);

此外,如果您使用的是 C# 6,则可以通过使用如下字符串插值来简化 Console.WriteLine:

Console.WriteLine($"GCD:{max}");

关于c# - 仅返回最后一次迭代的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36986171/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com