Versteht das jemand? -Java

fxkn

Neues Mitglied
Hallo Leute es geht um Folgendes:

Satz 1: Sei n ∈ ℕ, dann gilt ggT(n⁵ + 5, (n + 1)⁵ + 5) = 1.
Hinweis: Die zweistellige Funktion ggT bezeichnet den größten gemeinsamen Teiler
zweier natürlichen Zahlen.

Entwerfen und implementieren Sie dazu ein Java-Programm mit dem man bis
zu einer einzugebenden Grenze m überprüfen kann, ob für alle Zahlen n unter
dieser Grenze m die Eigenschaft ggT(n⁵ + 5,(n + 1)⁵ + 5) = 1 haben.
Hinweis: Die beteiligten Zahlen können sehr groß werden, verwenden Sie die
Klasse BigInteger.


Ich verstehe hierbei nicht wie ich die Eigenschaft ggT(n⁵ + 5,(n + 1)⁵ + 5) = 1 umsetzen soll bzw. verwirrt mich das ggT davor. Könnte mir jemand weiterhelfen? Tipps und Anregungen würden mich sehr freuen.

Danke Vielmals
 
Du implementierst eine Methode, die den ggT findet, machst dir dann ne Schleife, die von 1 bis m für alle Paare (m^5 + 5, (m + 1)^5 + 5) überprüft, ob der ggT = 1 ist und gibst anschließend das Ergebnis aus.
Pseudocode:
Java:
// ...
public static int ggT(int a, int b) {
  int ggT;
  // berechne hier den ggT
  return ggT;
}

public static void main(String[] args) {
  boolean ggTIst1 = true;
  int m; // muss entsprechend eingelesen oder definiert werden
  for(int i = 1; i <= m; i++) {
    if(ggT(i^5 + 5, (i + 1)^5 + 5) != 1) ggTIst1 = false;
  }
  System.out.println(ggTIst1);
}
// ...
Damit habe ich dir jetzt quasi den aufwendigen Teil der Lösung geliefert, allerdings musst du noch ein bisschen Eigeninitiative aufbringen, um zum Ziel zu kommen.

Mit freundlichen Grüßen
Xelsarion
 
Den Hinweis auf BigInteger beachten. n^5 wird schnell sehr gross !! Und vielleicht gibst du dir noch aus für welches i der Satz nicht gilt (falls er denn nicht gilt)
 
Du implementierst eine Methode, die den ggT findet, machst dir dann ne Schleife, die von 1 bis m für alle Paare (m^5 + 5, (m + 1)^5 + 5) überprüft, ob der ggT = 1 ist und gibst anschließend das Ergebnis aus.
Pseudocode:
Java:
// ...
public static int ggT(int a, int b) {
  int ggT;
  // berechne hier den ggT
  return ggT;
}

public static void main(String[] args) {
  boolean ggTIst1 = true;
  int m; // muss entsprechend eingelesen oder definiert werden
  for(int i = 1; i <= m; i++) {
    if(ggT(i^5 + 5, (i + 1)^5 + 5) != 1) ggTIst1 = false;
  }
  System.out.println(ggTIst1);
}
// ...
Damit habe ich dir jetzt quasi den aufwendigen Teil der Lösung geliefert, allerdings musst du noch ein bisschen Eigeninitiative aufbringen, um zum Ziel zu kommen.

Mit freundlichen Grüßen
Xelsarion

Muss ich für die ^5 Potenzen nicht Math.pow oder so nutzen?
 

Zurück
Oben