In diesem Artikel wird hauptsächlich die Implementierung des digitalen Black-Hole-Algorithmus-Spiels in der Java-Programmierung vorgestellt. Dazu sind Grundkenntnisse der Java-Programmierung wie Arrays, Scanner, if-Anweisungen usw. erforderlich. Freunde in Not können sich auf
beziehen Gegeben: Wenn wir für eine 4-stellige positive Ganzzahl mit unterschiedlichen Ziffern die 4 Zahlen zuerst in nicht aufsteigender Reihenfolge und dann in nicht absteigender Reihenfolge sortieren und dann die zweite Zahl von der ersten Zahl subtrahieren, erhalten wir eine neue Zahl . Wenn wir dies wiederholt tun, werden wir bald bei 6174 stehen bleiben, das als „digitale Schwarze Loch“ bekannt ist. Diese magische Zahl wird auch Kaprekar-Konstante genannt.
Zum Beispiel beginnen wir bei 6767, wir erhalten
7766 - 6677 = 1089
9810 - 0189 = 9621
9621 - 1269 = 8352
8532 - 2358 = 6174
7641 - 1467 = 6174
Gegeben Sie eine beliebige vierstellige positive Ganzzahl. Schreiben Sie bitte ein Programm, um den Prozess des Erreichens des Schwarzen Lochs zu demonstrieren.
Eingabeformat:
Die Eingabe ergibt eine positive ganze Zahl N im Intervall (0, 10000).
Ausgabeformat:
Wenn die 4 Ziffern von N alle gleich sind, geben Sie andernfalls „N - N = 0000“ aus Geben Sie jeden Schritt der Berechnung in einer Zeile aus, bis 6174 als Differenz angezeigt wird. Das Ausgabeformat finden Sie im Beispiel. Beachten Sie, dass jede Zahl im 4-stelligen Format ausgegeben wird.
Eingabebeispiel 1:
6767
Ausgabebeispiel 1:
7766 - 6677 = 1089
9810 - 0189 = 9621
9621 - 1269 = 8352
8532 - 2358 = 6174
Eingabebeispiel 2:
2222
Ausgabebeispiel 2:
2222 - 2222 = 0000
Der spezifische Code lautet wie folgt:
import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String args[]) { Scanner sc = new Scanner(System.in); int x = sc.nextInt(); int ans = ds(x)-xs(x); if(ans==0){ System.out.printf("%04d - %04d = %04d\n",ds(x),xs(x),ans); }else{ int n ; do{ n = ds(x)-xs(x); System.out.printf("%04d - %04d = %04d\n",ds(x),xs(x),n); x = n; }while(n!=6174); } } public static int ds (int x){ int[]a = new int[4]; a[0] = x/1000; a[1] = x/100%10; a[2] = x/10%10; a[3] = x%10; Arrays.sort(a); int sum = a[3]*1000+a[2]*100+a[1]*10+a[0]; return sum; } public static int xs (int x){ int[]a = new int[4]; a[0] = x/1000; a[1] = x/100%10; a[2] = x/10%10; a[3] = x%10; Arrays.sort(a); int sum = a[0]*1000+a[1]*100+a[2]*10+a[3]; return sum; } }
Die Ausgabe ist wie folgt:
4695 9654 - 4569 = 5085 8550 - 0558 = 7992 9972 - 2799 = 7173 7731 - 1377 = 6354 6543 - 3456 = 3087 8730 - 0378 = 8352 8532 - 2358 = 6174
Zusammenfassung
Das obige ist der detaillierte Inhalt vonBeispiel für die Implementierung eines digitalen Schwarzen Lochs in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!