# iterierte, alternierende Quersumme



## Chimikima (30. Nov 2020)

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!


----------



## fhoffmann (30. Nov 2020)

Bitte veröffnetliche deinen Code als Text (in Code-Tags) und nicht als Bild.


----------



## Chimikima (30. Nov 2020)

Chimikima hat gesagt.:


> 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!




```
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);
    }
}
```


----------



## fhoffmann (30. Nov 2020)

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.


----------



## Chimikima (30. Nov 2020)

fhoffmann hat gesagt.:


> 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.


Welche While-Schleife meinst du genau?


----------



## fhoffmann (30. Nov 2020)

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.


----------



## Chimikima (30. Nov 2020)

fhoffmann hat gesagt.:


> 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.


Du hast Recht, jetzt weiß ich ehrlich gesagt auch nicht mehr was ich mir dabei gedacht habe, danke!


----------



## mihe7 (30. Nov 2020)

Chimikima hat gesagt.:


> Welche While-Schleife meinst du genau?


Das wiederum ist fast egal.


----------



## Chimikima (30. Nov 2020)

mihe7 hat gesagt.:


> Das wiederum ist fast egal.


Warum das?😅


----------



## mihe7 (30. Nov 2020)

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.


----------



## Meniskusschaden (30. Nov 2020)

Chimikima hat gesagt.:


> iterierte, alternierende Quersumme


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



Chimikima hat gesagt.:


> 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 (30. Nov 2020)

Meniskusschaden hat gesagt.:


> 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?


----------



## Meniskusschaden (30. Nov 2020)

Chimikima hat gesagt.:


> 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.


----------

