Quersumme
-
Hallo zusammen,
bin gerade am grübeln... wie kann ich die berechnung einer quersumme proggen?
bsp. 123 -> quersumme = 1 + 2 + 3 = 6
hab im augenblick keinen plan. jemand ne idee wie ein algo aussehen könnte?
gruß
-
ja
Kleiner Tip: schau Dir mal % an, also modulo. a%b gibt Dir den Rest, der bleibt wenn Du a durch b teilst. Wenn Du modulo 10 rechnest bekommst Du genau die letzte Stelle. Wenn Du die Zahl durch 10 teilst(abrunden!), dann wird die vorletzte zur neuen letzten... kriegst Du's damit hin?
MfG Jester
-
Was mir in dem Zusammenhang durch den Kopf geht (allerdings OT):
Wie kann man beweisen, dass eine Zahl a durch 3 teilbar ist, wenn die Quersumme von a durch 3 teilbar ist?
-
Schau Dir das ganze halt mal modulo 3 an...
x = a_0 + 10*a_1 +100*a_2 + ... + 10^n*a_n
die Quersumme ist mod 3: a0+a1+a2+ ... + an mod 3
Und die Zahl modulo 3 ist, da 10 mod 3 = 1 genau das gleiche.mod 3 verschwindet also der Unterschied zwischen Zahl und Quersumme.
MfG Jester
-
Jester schrieb:
x = a_0 + 10*a_1 +100*a_2 + ... + 10^n*a_n
die Quersumme ist mod 3: a0+a1+a2+ ... + an mod 3
Und die Zahl modulo 3 ist, da 10 mod 3 = 1 genau das gleiche.dürfte das nicht dann auch für 9 gelten?
edit: oh, das geht ja tatsächlich auch mit 9. das ist mir neu
-
Voll cool!
-
in VB würde ich das folgendermaßen programmieren:
sub quersumme() dim sum,zahl,i as integer for i=1 to len(zahl) sum=sum+Cint(mid(zahl,i,1)) next i msgbox(sum) end sub
-
edit: ups, "zahl" muss in dem fall vom typ string sein...^^
-
borg schrieb:
dürfte das nicht dann auch für 9 gelten?
edit: oh, das geht ja tatsächlich auch mit 9. das ist mir neu
Allgemeiner geht das mit der (alternierenden) Quersumme zur Basis b für Teilbarkeit durch
b \pm 1[\latex]: [latex]\sum_{i=0}^n{a\_ib^i} \equiv \sum\_{i=0}^n{a_i} \pmod{b-1}\sum_{i=0}^n{a\_ib^i} \equiv \sum\_{i=0}^n{(-1)^ia_i} \pmod{b+1}
Man kann obiges leicht für (alternierenden) Quersummen k-ter Ordnung und Teilbarkeit durch weiter verallgemeinern.
-
dfgfdgfdg schrieb:
borg schrieb:
dürfte das nicht dann auch für 9 gelten?
edit: oh, das geht ja tatsächlich auch mit 9. das ist mir neu
Allgemeiner geht das mit der (alternierenden) Quersumme zur Basis b für Teilbarkeit durch
b \pm 1[\latex]: [latex]\sum_{i=0}^n{a\_ib^i} \equiv \sum\_{i=0}^n{a_i} \pmod{b-1}\sum_{i=0}^n{a\_ib^i} \equiv \sum\_{i=0}^n{(-1)^ia_i} \pmod{b+1}
Man kann obiges leicht für (alternierenden) Quersummen k-ter Ordnung und Teilbarkeit durch weiter verallgemeinern.
naja, es geht immer dann wenn basis === 1 (mod teiler) ist.
-
9|(a_0+...+a_n) => 9|a_0*...*a_n) :p
-
lookias schrieb:
9|(a_0+...+a_n) => 9|a_0*...*a_n) :p
9|(4+5), aber nicht 9|4*5.
-
jo meinte dann 45 nicht 4*5
sozusagen das inverse von quersummenbilden
interesant ist da dass man bzgl der teilbarkeit durch 9
im sinne dieser verknuepfung eine kommutative halbgruppe vorliegen hat
juhu!