Lösungsvorschlag 4.1 - Aufgabe 4

Aus ComeniusWiki
Version vom 6. April 2014, 16:34 Uhr von B.Schiller (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche
public class Collatz{
 
public void collatz(int m){
int n=m;
int counter=0;
while(n!=1){if(n%2==0){n=n/2;counter++;}else{n=3*n+1;counter++;}};
{System.out.println("Die Reihe mit der Anfangszahl "+m+" endet nach "+counter+" Schritten bei 1.");}
}
 
public int collatz2(int m){
int n=m;
int counter=0;
while(n!=1){if(n%2==0){n=n/2;counter++;}else{n=3*n+1;counter++;}};
return counter;
}
 
public void collatzMax(int m){
int n=m;
int saveM=n;
int counter=0;
int max=0;
 
for(int i=2; i<=m;i++){
counter=collatz2(i);
if(counter>max){max=counter;saveM=i;};
}
System.out.println("Die Anfangszahl "+saveM+" ergibt die längste Reihe mit "+max+" Schritten.");
}
}