Я пытаюсь вычислить самый большой общий делитель, используя 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. Может быть, не полезно показывать примеры, содержащие тройные операторы и рекурсию, не объясняя это немного дальше. Это просто приводит к копированию кода. –
нормально, конечно нет проблем, я просто попытался показать самый простой способ :) BTW его не программа Java – Mostafiz
Я начинающий на C# и домашнее задание, с которым я имею дело, просит меня найти GCD с использованием петель. Однако я ценю ваше решение. – VaVa