C Programm zum Finden einer GCD mit zwei Zahlen

Beispiele für verschiedene Methoden zur Berechnung der GCD von zwei Ganzzahlen (sowohl für positive als auch für negative Ganzzahlen) mithilfe von Schleifen und Entscheidungsanweisungen.

Um dieses Beispiel zu verstehen, sollten Sie die folgenden C-Programmierthemen kennen:

  • C Programmieroperatoren
  • C für Schleife
  • C if… else Statement
  • C während und mach … während Schleife

Die HCF oder GCD von zwei ganzen Zahlen ist die größte ganze Zahl, die beide Zahlen genau teilen kann (ohne Rest).

Es gibt viele Möglichkeiten, den größten gemeinsamen Teiler in der C-Programmierung zu finden.

Beispiel 1: GCD Verwenden der for-Schleife und der if-Anweisung

 #include int main() ( int n1, n2, i, gcd; printf("Enter two integers: "); scanf("%d %d", &n1, &n2); for(i=1; i <= n1 && i <= n2; ++i) ( // Checks if i is factor of both integers if(n1%i==0 && n2%i==0) gcd = i; ) printf("G.C.D of %d and %d is %d", n1, n2, gcd); return 0; ) 

In diesem Programm werden zwei vom Benutzer eingegebene Ganzzahlen in den Variablen n1 und n2 gespeichert. Dann wird die forSchleife wiederholt, bis i kleiner als n1 und n2 ist.

Wenn in jeder Iteration sowohl n1 als auch n2 genau durch i teilbar sind, wird der Wert von i gcd zugewiesen.

Wenn die forSchleife abgeschlossen ist, wird der größte gemeinsame Teiler zweier Zahlen in der Variablen gcd gespeichert.

Beispiel 2: GCD Verwenden der while-Schleife und der if… else-Anweisung

 #include int main() ( int n1, n2; printf("Enter two positive integers: "); scanf("%d %d",&n1,&n2); while(n1!=n2) ( if(n1> n2) n1 -= n2; else n2 -= n1; ) printf("GCD = %d",n1); return 0; )

Ausgabe

 Geben Sie zwei positive ganze Zahlen ein: 81 153 GCD = 9

Dies ist ein besserer Weg, um die GCD zu finden. Bei diesem Verfahren wird eine kleinere Ganzzahl von der größeren Ganzzahl subtrahiert, und das Ergebnis wird der Variablen zugewiesen, die eine größere Ganzzahl enthält. Dieser Vorgang wird fortgesetzt, bis n1 und n2 gleich sind.

Die beiden oben genannten Programme funktionieren nur dann wie vorgesehen, wenn der Benutzer positive Ganzzahlen eingibt. Hier ist eine kleine Modifikation des zweiten Beispiels, um die GCD für positive und negative ganze Zahlen zu finden.

Beispiel 3: GCD für positive und negative Zahlen

 #include int main() ( int n1, n2; printf("Enter two integers: "); scanf("%d %d",&n1,&n2); // if user enters negative number, sign of the number is changed to positive n1 = ( n1> 0) ? n1 : -n1; n2 = ( n2> 0) ? n2 : -n2; while(n1!=n2) ( if(n1> n2) n1 -= n2; else n2 -= n1; ) printf("GCD = %d",n1); return 0; )

Ausgabe

 Geben Sie zwei Ganzzahlen ein: 81 -153 GCD = 9

Sie können auch die Rekursion verwenden, um die GCD zu finden.

Interessante Beiträge...