Identifizieren, die den größten gemeinsamen Teiler (GCD) von zwei Werten mit Euklid-Algorithmus

Mein Programm bittet Benutzer für zwei zahlen, und dann muss ich gehen diese zahlen zu meiner Funktion. Meine Funktion soll "Identifizieren, die den größten gemeinsamen Teiler (GCD) von zwei Werten mit Euklid-Algorithmus. Return true wenn dieser Wert größer als 1 und kleiner als die kleinere der beiden zahlen. Legen Sie die call-by-reference-parameter auf den Wert des GCD. In main() Ausgabe der GCD und ob oder nicht deine Funktion auch true zurück oder false." Wie mache ich das?

int gcd (int a, int b)
{
    int c;

    if ( b == 0 )
        return a;

    else
        while ( b != 0 )
        {
            c = b;
            b = a % b;
            a = c;
        }

        return a;
}
  • Bitte geben Sie den code, den Sie bereits geschrieben haben, und angeben, auf welchen Teil es verursacht ein problem für Sie.
  • soll ich das einfach kopieren und einfügen oder gibt es eine bestimmte Weise, Sie zu zeigen?
  • Nur die beste Sie tun können. 🙂
  • Ich Tue, was ich kann und was ich weiß. Den rest muss ich lernen, richtig? So weit, dass ist, was ich habe, oder was weiß ich Teil. Jetzt ist der Teil, wo ich anfangen zu lernen, ein wenig mehr von Euch, und beginnen, sich zu verbessern.
  • Zu helfen, halten Sie Ihren code leicht ist, sollten Sie beachten, dass, wenn Sie vollständig zu entfernen Sie die drei Linien if ( b == 0 ) return a; else Ihre Funktion nicht ändern. Es wird noch zurück a wenn b == 0.
  • Ihre gcd-Funktion scheint korrekt zu sein - z.B. gcd(1071, 462)==gcd(462,1071)==21. Was ist Ihre eigentliche problem?
  • Gelöschte Konto?

InformationsquelleAutor | 2013-04-11
Schreibe einen Kommentar