Hallo zusammen,
ich komme mal wieder mit einer Aufgabe nicht zurecht und benötige eure Hilfe!
Mein Programm soll eine Eingegebene Zahl mit dem Collatz Regeln berechnen sodass am Ende immer eine 1 als Endergebnis kommt.
Soweit funktioniert das Program ganz gut und er berechnet alles richtig.
Mein Problem ist, das Programm soll auch mitzählen wie oft die Schleife durchlaufen wurde und das als ergebnis ausgeben.
So wie ich den Code geschrieben habe bekomme ich dann alles zusammen ausgegeben.
Bitte geben Sie eine Zahl ein:
22
->11Die Folgelänge ist:1
->34Die Folgelänge ist:2
->17Die Folgelänge ist:3
->52Die Folgelänge ist:4
->26Die Folgelänge ist:5
->13Die Folgelänge ist:6
->40Die Folgelänge ist:7
->20Die Folgelänge ist:8
->10Die Folgelänge ist:9
->5Die Folgelänge ist:10
->16Die Folgelänge ist:11
->8Die Folgelänge ist:12
->4Die Folgelänge ist:13
->2Die Folgelänge ist:14
->1Die Folgelänge ist:15
ich würde es aber gerne so haben:
Bitte geben Sie eine Zahl ein
22
->11 ->34 ->17 ->52 ->26 ->13 ->40 ->20 ->10 ->5 ->16 ->8 ->4 ->2 ->1
Die Folgelänge ist: 15
Hoffe das mit jemand helfen kann!
Danke
ich komme mal wieder mit einer Aufgabe nicht zurecht und benötige eure Hilfe!
Mein Programm soll eine Eingegebene Zahl mit dem Collatz Regeln berechnen sodass am Ende immer eine 1 als Endergebnis kommt.
Soweit funktioniert das Program ganz gut und er berechnet alles richtig.
Mein Problem ist, das Programm soll auch mitzählen wie oft die Schleife durchlaufen wurde und das als ergebnis ausgeben.
So wie ich den Code geschrieben habe bekomme ich dann alles zusammen ausgegeben.
Bitte geben Sie eine Zahl ein:
22
->11Die Folgelänge ist:1
->34Die Folgelänge ist:2
->17Die Folgelänge ist:3
->52Die Folgelänge ist:4
->26Die Folgelänge ist:5
->13Die Folgelänge ist:6
->40Die Folgelänge ist:7
->20Die Folgelänge ist:8
->10Die Folgelänge ist:9
->5Die Folgelänge ist:10
->16Die Folgelänge ist:11
->8Die Folgelänge ist:12
->4Die Folgelänge ist:13
->2Die Folgelänge ist:14
->1Die Folgelänge ist:15
ich würde es aber gerne so haben:
Bitte geben Sie eine Zahl ein
22
->11 ->34 ->17 ->52 ->26 ->13 ->40 ->20 ->10 ->5 ->16 ->8 ->4 ->2 ->1
Die Folgelänge ist: 15
Code:
import inout.*;
public class Collatz1
{
public static void main (String args[])
{
int n;
System.out.println("bitte geben Sie eine Zahl ein");
n = Console.readInt();
int i = 0;
while (n != 1)
{
if (n % 2 == 0)
n = n / 2;
else
n = 3 * n + 1;
i++;
System.out.print( "->" + n);
System.out.println ("Die Folgelänge ist:" + i );
}
}
}
Hoffe das mit jemand helfen kann!
Danke