Informatik Hausaufgaben

Neue Frage »

Auf diesen Beitrag antworten »
informatikshit_ Informatik Hausaufgaben

Meine Frage:
Informatik Hausaufgabe abgabetermin heute...kann mit die bitte jemand erledigen bin viel zu doof dazu unglücklich unglücklich unglücklich habs jetzt schon mehrmals versucht aber klappt nich...themen 1. ggt per schleife...2. ggt rekursiv...3.fibonacci

Meine Ideen:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
public class Ggt {
 /*
  * Berechnung des ggT zweier Zahlen 
  * nach dem Euklidischen Algorithmus
  */
 private static int ggt(int zahl1, int zahl2) {
   while (zahl2 != 0) {
     if (zahl1 > zahl2) {
       zahl1 = zahl1 - zahl2;
     } else {
       zahl2 = zahl2 - zahl1;
     }
   }
   return zahl1;
 }
 
 /*
  * Hauptprogramm:
  */
 public static void main(String[] args) {
   /*
    * Kommandozeilenargumente einlesen
    * Aufruf: "ggt <zahl1> <zahl2>"
    */
   int ersteZahl = Integer.parseInt(args[0]);
   int zweiteZahl = Integer.parseInt(args[1]);
 
   // berechne ggT mit der Funktion "ggt()"
   int ergebnis = ggt(ersteZahl, zweiteZahl);
 
   // Ausgabe des Ergebnisses:
   System.out.println("Der ggT von "  + ersteZahl + 
       " und " + zweiteZahl + " ist: " + ergebnis);
 }
}


Edit (Karlito): [code]-Umgebung
 
Auf diesen Beitrag antworten »
eulerscheZahl

Die iterative Berechnung passt schonmal.
Rekursiv habe ich als Codeschnipsel abgespeichert:
code:
1:
2:
3:
static long gcd (long a, long b) {
	return a == 0 ? b : gcd (b % a, a);
}


Fibonaccizahlen kannst du rekursiv definieren:
Fibonacci(0) = 0
Fibonacci(1) = 1
Fibonacci(i) = Fibonacci(i-1) + Fibonacci(i-2)

Prüfe, ob das Funktionsargument 0 oder 1 ist, gib dann das entsprechende Ergebnis aus. Sonst mache den rekursiven Aufruf. (Laufzeitmäßig ist die iterative Variante natürlich besser).
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »