kgV

S

sk72

Gast
Ich habe mal versucht einen Code für den kgV zu schreiben:

Java:
	public int kgV(int a, int b) {
		
		for(int i=1; i<=10; i++) {
			int x = a*i;
			
//			System.out.println("x= "+x);
			
			for(int j=b; j>0; j--) {
				int y = b*j;				
//				System.out.println("y= "+y);
				
					if(x==y) {
						System.out.println("kgv=" +x);
						break;
					}

			}
			
		}
		
		return 0;
		
	}

Prinzipiell funktioniert das Ganze auch, auch wenn mein Code wahrscheinlich äußerst unprofessionell geschrieben ist. Sollte allerdings für den Anfang erst einmal genügen.

Meine Frage ist, wie ich den Code nach dem Finden des kgV abbrechen kann, sonst zeigt er mir ja noch weitere kgVs an.

Lg

Achja, vielleicht habt ihr auch ja noch gleich ein paar Tipps, wie in den Algorithmus effizienter programmieren könnte ?
 

lipox

Mitglied
Der euklidische Algorithmus (Google ist dein Freund) berechnet den ggT effizient. Aus diesem kannst du leicht das kgV bestimmen, denn kgV(a,b) = | a * b | / ggT(a,b)
 

FerFemNemBem

Bekanntes Mitglied
Mahlzeit,

evtl. koenntest Du das so machen:

Java:
    private int ggt(int a, int b)
    {
        while(true) 
        {
            a = a % b;
            if(a == 0) return b;
            b = b % a;
            if(b == 0) return a;
        }
    }

    private int kgv(int a, int b)
    {
        if(a == 0 || b == 0) return 1;
        return (a*b)/ggt(a,b);
    }

da haste beides dabei...

Gruss, FFNB.
 
Zuletzt bearbeitet:

Neue Themen


Oben