Eine Zahl solange teilen bis es nicht möglich ist und die Ergebnisse ausgeben

Diskutiere Eine Zahl solange teilen bis es nicht möglich ist und die Ergebnisse ausgeben im Java Basics - Anfänger-Themen Bereich.
H

httpdigest

Nun gebt ihm doch die Komplettlösung. :)
Bisher hat er nicht mal den geringsten Versuch unternommen, selber eine Lösung zu erarbeiten oder die ihm präsentierten Teillösungen und Ideen zu vervollständigen.
 
mihe7

mihe7

Nun gebt ihm doch die Komplettlösung. :)
OK

Java:
        int i = 0;
        while (i < 1) {
            int n = 18;
            IntStream.rangeClosed(1, (int)Math.sqrt(n))
                .filter(a -> n % a == 0)
                .flatMap(a -> IntStream.of(a, n/a))
                .sorted()
                .mapToObj(a -> String.format("%d Gruppen á %d", a, n/a))
                .forEach(System.out::println);
            i++;
        }
 
mihe7

mihe7

@NilsVonBismarck Der Code aus #22 war natürlich nur ein kleiner Gag. Wenn das mit dem Rest als Abbruchbedingung nicht klappt, musst Du Dir einen anderen Ansatz überlegen. Die sprachliche Konstrukte aus den bisherigen Kommentaren (außer aus #22) reichen in jedem Fall, um das Problem zu lösen.
 
T

temi

Dann musst du einfach alle Fälle von 1 bis zur maximalen Anzahl der Schüler ausprobieren, ob sie sich ohne Rest teilen lassen.
Naja, verwende eine while-Schleife einfach als andere Form einer for-Schleife (über die Zahlen 1..N, wobei N die Anzahl der Schüler ist).
Dabei kannst du ja folgende Äquivalenz zwischen for- und while-Schleife ausnutzen:
Java:
for (initialization; condition; increment) {
  body
}

initialization;
while (condition) {
  body
  increment
}
Bring das einfach zusammen, dann hast du deine gesuchte Lösung:

"von" = initialization
"bis" = condition
"body" = ausprobieren
 
Thema: 

Eine Zahl solange teilen bis es nicht möglich ist und die Ergebnisse ausgeben

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben