Java kleinstes gemeinsames Vielfaches

Hornhauer100

Mitglied
Hallo,

ich bin gerade dabei das kgV von zwei Natürlichen Zahlen herauszufinden. In der Konsole sollen dann alle Kombinationen angezeigt werden.
z. B.

Zahl A = 21
Zahl B = 15

21 <> 15
42 <> 30
.
.
.
105 <> 105

und so weiter. Bin momentan so weit und weiß echt nicht mehr weiter :/
Java:
package Test;

public class test3 {

	public static void main(String[] args) {
		
		int zahl1;
		int zahl2;
		int i = 1;
		
		System.out.println("Bitte geben Sie den A Wert ein");
		zahl1 = EAM.rInt();
		System.out.println("Bitte geben Sie den B Wert ein");
		zahl2 = EAM.rInt();
		
		while (zahl1 != zahl2) {
			zahl1 = zahl1 + zahl1;
			zahl2 = zahl2 + zahl2;
			
					
			System.out.println(zahl1 + " " + "<>" + " " + zahl2);
			
			
		}
		
	}

}
 
Zuletzt bearbeitet:
Was ist denn das Problem? Du sagst nur, dass du nicht weiter weißt aber nicht, wobei.

Das sieht gar nicht so falsch aus.

Was ist EAM?


PS: zahl1 = zahl1 + zahl2 kannst du durch zahl1 += zahl2 ersetzen. Das ist mMn lesbarer. 😉
 
EAM ist ein Interner Code unserer Uni für Variablen und zum Speichern oder so.
Ich komme nicht weiter, da in der Console nicht alle Zahlen angezeigt werden, sondern nur die letzte, und das ist nicht einmal die richtige Antwort (105) sondern eine zu große Zahl 208248203 oder so.
 
Also wenn du diesen Weg weiterverfolgst, dann musst du Abfragen welche Zahl kleiner ist und diese erhöhen. Ich hab dir mal das in ein Javapseudo-Code verfasst:

Code:
in -> a, b : int;
var -> stepA, stepB, i : int;
____________________
stepA = a;
stepB = b;
for(i = 1; a != b; i++) {
  if(a < b) a = a + stepA;
  else if(a > b) b = b + stepB;
  System.out.format("Step %d: %d <> %d%n", i, a, b);
}
 
Zuletzt bearbeitet:
Okay, habe das nun mal ausprobiert und nun kommt folgendes Ergebnis raus:
Step 406280: 0 <> 2013265920
Step 406281: 0 <> 2013265920
Step 406282: 0 <> 2013265920
Step 406283: 0 <> 2013265920
Step 406284: 0 <> 2013265920
Step 406285: 0 <> 2013265920
Step 406286: 0 <> 2013265920
Step 406287: 0 <> 2013265920
Step 406288: 0 <> 2013265920
Step 406289: 0 <> 2013265920

und es geht noch seeeehr lange so weiter 🙁
 
Okay, es funktioniert jetzt auch. Hatte nur 2 Variablen vertauscht. Jetzt muss ich den Code nur noch durchgehen und verstehen. Aber vielen Dank auf jedenfall.
 
und was bedeutet
System.out.format("Step %d: %d <> %d%n", i, a, b);

ich kenne nur System.our.println und diese ganzen % Zeichen und d`s kenne ich auch nicht 🙁
 

Zurück
Oben