English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Java-Anwendung zum Finden des größten gemeinsamen Teilers zweier Zahlen
In diesem Programm lernen Sie, wie man in einer Java-Anwendung den größten gemeinsamen Teiler (GCD) zweier Zahlen findet. Dies wird durch die Verwendung von for- und while-Schleifen unter Hilfe der if-else-Anweisungen erreicht.
public class GCD { public static void main(String[] args) { int n1 = 81, n2 = 153:Mit for-Schleifen und if-Anweisungen wird der größte gemeinsame Teiler zweier Zahlen gefunden 1; , gcd = 1for(int i =1 ; i <= n2; ++i <= n { // i) Überprüfen Sie, ob i ein Teiler beider ganzer Zahlen ist if(n1 i==0 && n2 i==0) gcd = i; } System.out.printf("%d und %d haben den größten gemeinsamen Teiler %d", n1, n2, gcd); } }
Wenn dieses Programm ausgeführt wird, wird ausgegeben:
81 und 153 der größte gemeinsame Teiler ist 9
Hier werden die beiden Zahlen, deren größter gemeinsamer Teiler gesucht wird, in n1und n2in der.
Dann führt man einen for-Schleife aus, bis i kleiner als n1und n2bis hierher. Auf diese Weise wird iteriert1alle Zahlen bis zur kleinsten der beiden Zahlen zur Ermittlung des größten gemeinsamen Teilers verwendet werden.
wenn n1und n2Wenn eine Zahl durch i ganzzahlig geteilt werden kann, wird gcd auf die Zahl gesetzt. Dies wird fortgesetzt, bis die größte Zahl (GCD) gefunden wird, die n1und n2durchgeteilt ohne Rest. }}
Wir können auch das Problem mit einer While-Schleife lösen, wie folgt:
public class GCD { public static void main(String[] args) { int n1 = 81, n2 = 153; while(n1 != n2) { if(n1 > n2) n1 -= n2; else n2 -= n1; } System.out.println("G.C.D = " + n1); } }
Wenn dieses Programm ausgeführt wird, wird ausgegeben:
G.C.D = 9
Dies ist eine bessere Methode, um den GCD zu finden. Bei dieser Methode wird das größere Integer vom kleineren Integer abgezogen und das Ergebnis dem Variable zugewiesen, die das größere Integer speichert. Dieser Prozess wird fortgesetzt, bis n1und n2Gleich.
Nur wenn der Benutzer positive Ganzzahlen eingibt, funktionieren die beiden obigen Programme wie erwartet. Dies sind einige Änderungen an einem zweiten Beispiel, um den GCD von positiven und negativen Zahlen zu finden.
public class GCD { public static void main(String[] args) { int n1 = 81, n2 = -153; n1 = ( n1 > 0) ? n1 : -n1; n2 = ( n2 > 0) ? n2 : -n2; while(n1 != n2) { if(n1 > n2) n1 -= n2; else n2 -= n1; } System.out.println("G.C.D = " + n1); } }
Wenn dieses Programm ausgeführt wird, wird ausgegeben:
G.C.D = 9