ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
857
857
EMPFEHLEN
-
Für ein Intervall von mindestens 150 natürlichen Zahlen z ist die Quersumme qz zu berechnen.
Der Startwert a des Intervalls ist von der Tastatur einzulesen.Führen Sie eine Eingabekontrolle aus,die garantiert,dass a>0 ist.Geben Sie für alle z des Intervalls [a,a+150],die Quersumme und ihre Summanden aus.Falls die Quersumme durch 9 teilbar ist,berechnen Sie qz/9 und z/9 und machen entsprechende Ausgaben.
ich habe Programm geschrieben,Complieren ist ok,aber es gibt immer Fehler im Laufen.
kann jemand mir helfen? danke
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
class Quersumme { public static void main(String args[]) { int a,b,z,qz,summe,qz1,z1; a=8; b=158; z=IO1.einint(); qz=0; summe=0; if(a<=z&&z<=b) for (z=a;z<b;z=z+1) { while(z!=0) { qz=qz+z%10; z=z/10; } if (qz%9==0) { qz1=qz/9; z1=z/9; System.out.println(qz1); System.out.println(z1); } System.out.println("die Quersumme ist:"+qz); System.out.println("Summe ist:"+summe); } } }
-
Hallo,
eine Erklärung wie sich der Fehler bemerkbar macht, wäre nicht schlecht. Ein andere Titel wäre auch nicht schlecht gewesen, da der Thread auch anderen Hilfreich sein könnte.
MFG
zEriXEs ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)
-
12.11.07 16:53 #3
- Registriert seit
- Nov 2007
- Beiträge
- 12
Du dividierst z immer wieder durch 10 --> Dadurch entsteht eine Endlosschleife
Code :1 2 3 4 5 6 7 8
for (z=a;z<b;z=z+1) { while(z!=0) { qz=qz+z%10; z=z/10; } ....
Und das dein Programm die Quersumme über das Intervall z=[a,a+150] nicht korrekt
berechnet ist dir hoffentlich klar
Also wenn ich das richtig verstanden soll es sowas wie
a = 1 --> z[1,151]
1 = quers: 1
2 = quers: 3
3 = quers: 6
--
Aufsummierung der Quersummen im Intervall.
Wenn ja
hier:
(z ist der Eingabewert..
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
public static void main(String args[]) { int z,qz,qz1,z1; z=1; qz=0; if(z>0) { for (int i=z ; i <= (z + 150 ) ; i++) { System.out.print("z" + i); int quer = i; while(quer!=0) { qz+=quer%10; quer=quer/10; } System.out.print("|Quersumme :"+qz); System.out.println(""); } } }
Ausgabe:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
z1|Quersumme :1 z2|Quersumme :3 z3|Quersumme :6 z4|Quersumme :10 z5|Quersumme :15 z6|Quersumme :21 z7|Quersumme :28 z8|Quersumme :36 z9|Quersumme :45 z10|Quersumme :46 z11|Quersumme :48 z12|Quersumme :51 z13|Quersumme :55 z14|Quersumme :60 z15|Quersumme :66 z16|Quersumme :73 z17|Quersumme :81 z18|Quersumme :90 z19|Quersumme :100 z20|Quersumme :102 .....
Geändert von Soulfly2111 (12.11.07 um 17:01 Uhr)
-
vielen dank
aber die Quersumme haben Sie falsch verstanden.
z.B,die Quersumme der 156 ist qz=1+5+6=12
Sie haben die Quersumme von 1 bis 9 falsch gerechnet...
trotz danke...
-
12.11.07 19:01 #5
- Registriert seit
- Nov 2007
- Beiträge
- 12
Ich dachte, die Quersummen soll über das Intervall aufsummiert werden.
z = 1:
intervall(1,1)
Aufsummierung der Quersumme 1 :
z = 2
intervall(1,2)
Aufsummierung der Quersumme z1=1 + z2=2 = 3:
z = 2
intervall(1,3)
Aufsummierung der Quersumme z1=1 + z2=2 + z3=3 = 6:
...
Habe da wohl was falsch verstanden. Naja aber eine Quersumme - soviel Wissen traue mir schon zu
Geändert von Soulfly2111 (12.11.07 um 19:04 Uhr)
Ähnliche Themen
-
Finde den Fehler nicht
Von Wipeout im Forum PHPAntworten: 6Letzter Beitrag: 17.04.09, 10:17 -
Finde fehler nicht!
Von benija im Forum JavaAntworten: 1Letzter Beitrag: 11.11.07, 04:13 -
Finde denn Fehler im Code nicht kann mich nicht einlogen.
Von deinpapa im Forum PHPAntworten: 6Letzter Beitrag: 06.08.07, 14:03 -
Finde den Fehler nicht.
Von Lt_Hawk im Forum PHPAntworten: 6Letzter Beitrag: 22.05.05, 20:09 -
Finde den Fehler nicht
Von Bushman im Forum PHPAntworten: 1Letzter Beitrag: 15.02.02, 21:39





Zitieren

Login





