Pseudocode:
Kod:
begin function getChecksiffra(text siffror) returns text
integer summa = 0
for (integer index = siffror.length to 0 step -1)
integer siffervärde = value(siffror[index])
// varannan gångras med 2 och varannan med 1...
siffervärde = siffervärde * (((index+1) mod 2) +1)
if (siffervärde>9)
summa += siffervärde-9
summa += siffervärde mod 10
else
summa += siffervärde
endif
end for
text checksiffra = chr(10 - (summa mod 10))
return checksiffra // som text
end function
text nr = "811218987"
text personnummer = nr + getChecksiffra(nr)
print "Personnummer: " + String.Format("999999-9999",personnummer))
// Personnummer: 811218-9876