"두 정수의 가장 큰 공약수는 두 숫자의 공약수를 균등하게 나눌 수있는 가장 큰 정수입니다. 두 정수의 가장 큰 공약수를 반환하는 Gcd 메서드를 작성하십시오. 사용자로부터 두 개의 값을 읽고 결과를 표시합니다. "C# 가장 큰 공약수 찾기
당신이 날은이 문제를 해결하는 데 도움이 될 수 있습니다 (이 책 내가 사용하고 단지 연습, 숙제를하지 않습니다)? 여기에 내가 지금까지 가지고있는 것이있다. 감사합니다
(편집 - 나를 위해 GCD를 나는 두 숫자를 제출할 수 있지만 계산되지 않습니다)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Greatest_Common_Divisor
{
class Program
{
static int GetNum(string text)
{
bool IsItANumber = false;
int x = 0;
Console.WriteLine(text);
do
{
IsItANumber = int.TryParse(Console.ReadLine(), out x);
} while (!IsItANumber);
return x;
}
static void Main(string[] args)
{
string text = "enter a number";
int x = GetNum(text);
text = "enter a second number";
int y = GetNum(text);
int z = GCD(x, y);
Console.WriteLine(z);
}
private static int GCD(int x, int y)
{
int v = 0;
int n = 0;
v = GetGreatestDivisor(x, y);
return v;
}
static int GetGreatestDivisor(int m, int h)
{
do
{
for (int i = m; i <= 1; i--)
if (m%i == 0 && h%i == 0)
{
int x = 0;
x = i;
return x;
}
} while (true);
return m;
}
}
}
코드가 작동하지 않습니까? 아니면 불완전합니까? –
여기에 무슨 문제가 있습니까? –
두 개의 숫자를 제출할 수는 있지만 나를 위해 Gcd를 계산하지 않습니다 – user2723261