iterierte, alternierende Quersumme

Chimikima

Chimikima

Mitglied
Hallo,
ich soll als Übung für die Uni eine iterierte, alternierende Quersumme mit maximal 9 Ziffern bilden.
Das habe ich bis jetzt, allerdings kommt nie die richtige Antwort heraus und ich weiß nicht wo genau mein Fehler liegt.
Die richtige Lösung für 9090 lauter -18.
Vielen Dank!
 

Anhänge

  • 11.PNG
    11.PNG
    15,5 KB · Aufrufe: 13
Chimikima

Chimikima

Mitglied
Hallo,
ich soll als Übung für die Uni eine iterierte, alternierende Quersumme mit maximal 9 Ziffern bilden.
Das habe ich bis jetzt, allerdings kommt nie die richtige Antwort heraus und ich weiß nicht wo genau mein Fehler liegt.
Die richtige Lösung für 9090 lauter -18.
Vielen Dank!

Java:
public class Quersummee {

    public static void main(String[] args) {
            int zahl = 9090;
            int quersumme = 0;
            
            System.out.print("Die iterierte Quersumme von " + zahl + " ist ");
            
            while (zahl !=0) {
                quersumme = quersumme + zahl %10;
                zahl = zahl/10;
                //System.out.println(zahl);
            }
            
            while(quersumme > 9) {
                int iquersumme = 0;
                    while(quersumme != 0) {
                        iquersumme = iquersumme + quersumme % 10;
                        quersumme = quersumme /10;
                    }
                    quersumme = iquersumme;
            }
             System.out.println(quersumme);
    }
}
 
F

fhoffmann

Top Contributor
Ich verstehe beim besten Willen nicht, was deine while-Schleife macht.
Du musst doch eine Schleife schreiben, die abwechselnd die aktuelle Ziffer zu der bisherigen alternierendenQuersumme addiert bzw. davon subtrahiert.
 
F

fhoffmann

Top Contributor
In der ersten while-Schleife wird die Quersumme berchnet - die ist in Ordnung.
Aber wie du in der zweiten while-Schleife die "alternierende Quersumme" aus der Quersumme berechntet werden soll, verstehe ich nicht.
 
mihe7

mihe7

Top Contributor
Weil keine davon in dem Zusammenhang wirklich einen Sinn ergibt. Aber das hattet ihr ja zwischenzeitlich schon geklärt, mein Beitrag hat sich mit Euren überschnitten.
 
M

Meniskusschaden

Top Contributor
iterierte, alternierende Quersumme
:confused:Was denn nun? Die iterierte, die alternierende oder wirklich die iterierte, alternierende Quersumme?

Die richtige Lösung für 9090 lauter -18.
Das wäre die nicht iterierte, alternierende Quersumme. Dein Programm berechnet (zumindest für ein paar Stichproben) aber die iterierte, nicht alternierende Quersumme, im Beispiel also 9. Die iterierte, alternierende Quersumme wäre 7.
 
Chimikima

Chimikima

Mitglied
:confused:Was denn nun? Die iterierte, die alternierende oder wirklich die iterierte, alternierende Quersumme?


Das wäre die nicht iterierte, alternierende Quersumme. Dein Programm berechnet (zumindest für ein paar Stichproben) aber die iterierte, nicht alternierende Quersumme, im Beispiel also 9. Die iterierte, alternierende Quersumme wäre 7.
Also eigentlich wollte ich zuerst die alternierende Quersumme bilden. Aus der kann man ja dann die iterierte, alternierende Quersumme erhalten indem man so lange wiederholt die alternierende Quersumme bildet bis das Ergebnis kleiner 11 ist. Oder liege ich da falsch?
 
M

Meniskusschaden

Top Contributor
Also eigentlich wollte ich zuerst die alternierende Quersumme bilden. Aus der kann man ja dann die iterierte, alternierende Quersumme erhalten indem man so lange wiederholt die alternierende Quersumme bildet bis das Ergebnis kleiner 11 ist. Oder liege ich da falsch?
Doch. Ich wollte es nur klären, weil es oben so aussieht, als sei -18 die endgültige Lösung, was nicht zur formulierten Aufgabenstellung passt und im Programm wird die Ausgabe als iterierte Quersumme bezeichnet, die auch korrekt berechnet wird. So wie es jetzt da steht, ist die Anforderung etwas schwammig.
 
Anzeige

Neue Themen


Oben