C# finde den größten gemeinsamen Teiler

"Den größten gemeinsamen Teiler von zwei ganzen zahlen ist die größte ganze Zahl, die gleichmäßig teilt jede der beiden zahlen. Write-Methode Gcd liefert den größten gemeinsamen Teiler von zwei ganzen zahlen. Integrieren die Methode in eine app, die liest zwei Werte vom Benutzer ein und zeigt das Ergebnis an."

(dies ist keine Hausaufgabe, nur eine übung in dem Buch, das ich verwende)

können Sie mir helfen, dieses Problem lösen? Hier ist, was ich habe, so weit. Dank

(Bearbeiten - die ich Einreichen kann, die zwei zahlen, aber es wird nicht die Berechnung der Gcd für mich)

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;
        }

  }
}
  • Ist dein code funktioniert nicht oder nur unvollständig?
  • Was ist hier das problem?
  • Ich kann senden, die die zwei zahlen, aber es wird nicht die Berechnung der Gcd für mich
  • Sollten Sie aus der euklidischer Algorithmus.
  • for (int i = m; i <= 1; i--) wird nicht ausgeführt, wenn m > 1 Sie gemeint i >= 1.
  • ja, das war das problem vielen Dank. Ich bin neu auf stackoverflow wie schließe ich eine Frage?
  • Don ' T Sorge zu viel über es. Die Gemeinschaft wird ihn schließen, wenn es das ist, was erforderlich ist. Wenn diese Frage geschlossen ist, bitte nehmen Sie es nicht persönlich. Es ist nur ein Versuch, um sicherzustellen, dass der Inhalt bei stackoverflow ist prägnant.
  • Du hast ein paar Antworten - aber ich würde nicht löschen, eine Frage oder etwas ähnliches. Könnte jemand brauchen, der Antworten später. 🙂

InformationsquelleAutor user2723261 | 2013-08-30
Schreibe einen Kommentar