Größten gemeinsamen Teiler finden

KogoroMori21

Aktives Mitglied
Guten Tag,

ich komme einfach nicht weiter diese Aufgabe zu lösen. Ich habe keinen Lösungsansatz und weiß nicht wie ich anfangen soll, im Internet finde ich auch leider nichts.

Die Aufgabe ist: Schreiben Sie eine Methode groessterGemeinsamerTeiler(Integer,Integer), der die größte Zahl findet, die Teiler beider übergebenen Zahlen ist. Nutzen Sie dabei ein einfaches Verfahren, bei dem Sie z. B. alle Zahlen von 1 bis zur ersten übergebenen Zahl ausprobieren. Sollte ein Parameter kleiner 1 oder null sein, ist das Ergebnis 0. Zeichnen Sie zunächst ein Aktivitätsdiagramm für den Ablauf Ihrer Methode.



Das ist die main:

public class ZahlenanalyseTest {
public static void main(String[] s) {
Zahlenanalyse z = new Zahlenanalyse();

System.out.println("ggT(null,42): "
+ z.groessterGemeinsamerTeiler(null, 42));
System.out.println("ggT(66,99): "
+ z.groessterGemeinsamerTeiler(66, 99));
System.out.println("ggT(99,66): "
+ z.groessterGemeinsamerTeiler(99, 66));
System.out.println("ggT(132,133): "
+ z.groessterGemeinsamerTeiler(132, 133));




Hat da jemand bitte eine Idee?

MfG
 
K

kneitzel

Gast
Da ist doch schon ein erster Ansatz gegeben, den Du versuchen kannst:

Nutzen Sie dabei ein einfaches Verfahren, bei dem Sie z. B. alle Zahlen von 1 bis zur ersten übergebenen Zahl ausprobieren.

Hast Du diesen Satz verstanden? Was bedeutet das genau? Was sollst Du machen? Kannst Du das für das Beispiel eines Aufrufs mit 6, 9 durchspielen?

Bei sowas ist immer wichtig, dass man sowas erst einmal im Detail durchspielt. Mit etwas Erfahrung macht man das alles im Kopf, aber am Anfang sollte man da Stift und Papier bemühen.
 

KogoroMori21

Aktives Mitglied
Da ist doch schon ein erster Ansatz gegeben, den Du versuchen kannst:



Hast Du diesen Satz verstanden? Was bedeutet das genau? Was sollst Du machen? Kannst Du das für das Beispiel eines Aufrufs mit 6, 9 durchspielen?

Bei sowas ist immer wichtig, dass man sowas erst einmal im Detail durchspielt. Mit etwas Erfahrung macht man das alles im Kopf, aber am Anfang sollte man da Stift und Papier bemühen.


Ehrlich gesagt hab ich die Aufgabenstellung nicht ganz verstanden, ich tu mich damit echt schwer das auch noch in Java umzusetzen...
 
K

kneitzel

Gast
Vergiss java. Das hat jetzt erst einmal nichts mit Java zu tun.

Hast Du verstanden, was der größte gemeinsame Teiler ist? Das ist ein mathematischer Begriff, den Du hier natürlich erst einmal verstanden haben musst.

Wenn Du dann den größten gemeinsamen Teiler von 6 und 9 ermitteln sollst: Wie gehst DU dann vor? Die berechnest Du den ggT (ggT = größter gemeinsamer Teiler).
 

MoxxiManagarm

Top Contributor
Ich hab momentan echt eine Denkblockade, weißt du denn wie das zu lösen ist?😞😔
Das geht so nicht, niemand wird dir eine Lösung vorgeben. Wir helfen dir nur die Lösung zu finden und ganz genau das hat JustNobody versucht.

Um auf sein Beispiel zurückzukommen: 6 & 9.
Dann ist der größte gemeinsame Teiler die 3, denn die 3 ist die größte Zahl, welche ohne Rest von 6 und 9 teilbar ist. Teilbarkeit wird mit dem Modulo-Operator (%) geprüft. Eine Zahl n ist z.B. gerade, wenn gilt n % 2 == 0.
 
K

kneitzel

Gast
Wen es am Verständnis des ggT scheitert: Da hilft dann evtl. https://de.wikipedia.org/wiki/Größter_gemeinsamer_Teiler

Wobei da deutlich mehr in die Tiefe gegangen wird, als du hier benötigst.

Evtl. hilft die Vorstellung eines Bruches: Sieh die zwei Zahlen als ein Bruch an: 6 / 9.
Dann ist die Frage: Kannst Du da etwas kürzen?

Die Logik dahinter ist natürlich - so wie der Wikipedia Artikel es erläutert, eine Primzahlen-Zerlegung:
6 = 2 * 3
9 = 3 * 3
bei (2*3) / (3*3) sieht man dann: oben und unten wird mit 3 Multipliziert, also kann man die 3 streichen.

Aber hier geht es nicht um eine Primzahlen-Zerlegung sondern um einen anderen Lösungsansatz und der ist kurz umrissen worden. Und das ist auch meistens etwas, das man selbst macht, wenn man etwas prüft:

2346 / 7422 - wenn Du den Bruch kürzen wolltest: Wie gehst Du vor? Was ließe sich machen?
(Letzte Ziffer ist durch 2 teilbar - das könnte man also machen. Quersumme ist durch 3 teilbar - also hat man schon zwei Teiler mit denen man kürzen könnte. Durch 4 Teilbar? Beide Zahlen nicht. Durch 5 Teilbar? Auch nicht. Durch 6 teilbar? Klaro, wenn es durch 2 und 3 teilbar war ...

Kannst Du dieses Vorgehen etwas nachvollziehen?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
JavaBeginner22 Wort mit der größten Länge ausgeben Java Basics - Anfänger-Themen 4
sserio Rekursion größten Primfaktor finden funktioniert nicht Java Basics - Anfänger-Themen 8
H Arrays: Größten Zahlen Unterschied herausfinden Java Basics - Anfänger-Themen 20
A Größten Eintrag aus Binärbaum löschen Java Basics - Anfänger-Themen 4
G Größten und kleinsten Wert im Array ermitteln? Java Basics - Anfänger-Themen 7
M ArrayList- größten String printen Java Basics - Anfänger-Themen 30
S kleinster Index der größten Komponente ? Java Basics - Anfänger-Themen 3
M Die drei größten Werte eines Arrays Java Basics - Anfänger-Themen 6
E Bintree größten Wert Java Basics - Anfänger-Themen 8
N Java Rekursion - Set --> Hole den 2.größten Wert Java Basics - Anfänger-Themen 3
G algorithmus zum finden der größten zahl von vieren Java Basics - Anfänger-Themen 6
J arraylist Index des größten, zweit-,dritt-,...-größten Elemtens ausgeben Java Basics - Anfänger-Themen 8
G Größten u. kleinsten Wert ermitteln Java Basics - Anfänger-Themen 14
M den kleinsten und größten Wert aus einer Datei finden! Java Basics - Anfänger-Themen 4
B größten gemeins. Teiler m. Euklidischen Algorith. nachbilden Java Basics - Anfänger-Themen 2
B 4 double Werte sind gegeben - wie bekomme ich den größten? Java Basics - Anfänger-Themen 8
G Ganzzahl oder nicht + gemeinsamen Teiler finden Java Basics - Anfänger-Themen 9
J Größter gemeinsamer Teiler: mein Code Java Basics - Anfänger-Themen 6
V Beliebige Dreistellige Zahl Teiler finden Java Basics - Anfänger-Themen 4
F Summe aller echten Teiler Java Basics - Anfänger-Themen 2
F Summe aller echten Teiler und Zahlen zurückgeben Java Basics - Anfänger-Themen 1
LikeManuel Anzahl der Teiler Java Basics - Anfänger-Themen 6
L Größter gemeinsamer Teiler Java Basics - Anfänger-Themen 9
B größter gemeinsamer teiler Java Basics - Anfänger-Themen 6
K größter gemeinsamer Teiler berrechnen, funktioniert nur bei bestimmten Zahlen Java Basics - Anfänger-Themen 2
X Perfekte Zahlen mit Teiler ausgeben! Java Basics - Anfänger-Themen 29
S Zahl mit maximaler Anzahl von Teiler Java Basics - Anfänger-Themen 2
U Aufgabe - Teiler Java Basics - Anfänger-Themen 12
B Teiler einer Zahl ermitteln Java Basics - Anfänger-Themen 12
S Teiler ermittlen - Array erweitern? Java Basics - Anfänger-Themen 14
0 Anzahl der (primen) Teiler einer Zahl? Java Basics - Anfänger-Themen 6
G Ganzzahligen Teiler einer Eingabezahl k Java Basics - Anfänger-Themen 12
D ist a teiler von b? mit a und b gebrochene zahlen. Java Basics - Anfänger-Themen 6
C Teiler einer ganzen Zahl Java Basics - Anfänger-Themen 2
Y alle teiler einer zahl ausgeben Java Basics - Anfänger-Themen 23
J Teiler einer beliebigen Zahl ermitteln. Java Basics - Anfänger-Themen 19

Ähnliche Java Themen

Neue Themen


Oben