Avatar billede blackscorpion Nybegynder
15. august 2005 - 13:49 Der er 18 kommentarer og
1 løsning

Matematisk udregning af Cpr nummer.

Hej Eksperter.

Jeg kan huske fra matematik timerne i skolen, at der findes en matematisk formel for udregning af cpr nummer, alt efter om hvorvidt du er mand eller kvinde.

nogle der kan huske det??
Avatar billede medions Nybegynder
15. august 2005 - 13:51 #1
function gyldig($cpr)
{
if ((4*$cpr[0]
  + 3*$cpr[1]
  + 2*$cpr[2]
  + 7*$cpr[3]
  + 6*$cpr[4]
  + 5*$cpr[5]
  + 4*$cpr[6]
  + 3*$cpr[7]
  + 2*$cpr[8]
  + 1*$cpr[9]) % 11 == 0) return 1;
else return 0;
}

$gyldig = gyldig(\"1205702323\"); // returnerer 0 = ikke gyldig

//>Rune
Avatar billede medions Nybegynder
15. august 2005 - 13:51 #2
Sorry:

function gyldig($cpr)
{
if ((4*$cpr[0]
  + 3*$cpr[1]
  + 2*$cpr[2]
  + 7*$cpr[3]
  + 6*$cpr[4]
  + 5*$cpr[5]
  + 4*$cpr[6]
  + 3*$cpr[7]
  + 2*$cpr[8]
  + 1*$cpr[9]) % 11 == 0) return 1;
else return 0;
}

$gyldig = gyldig("1205702323"); // returnerer 0 = ikke gyldig

//>Rune
Avatar billede blackscorpion Nybegynder
15. august 2005 - 13:55 #3
jamen hvad regner den efter?? om man er mand eller kvinde?
Avatar billede arne_v Ekspert
15. august 2005 - 13:58 #4
algoritmen er den samme for m og k

sidste ciffer angiver køn
Avatar billede roenving Novice
15. august 2005 - 13:58 #5
Mand eller kvinde afgøres kun af, om det sidste ciffer er ulige eller lige !-)
Avatar billede blackscorpion Nybegynder
15. august 2005 - 13:59 #6
hmmm kører lige en grundig test på den, har jo en bruger db jeg kan teste på. ;)
Avatar billede blackscorpion Nybegynder
15. august 2005 - 14:02 #7
hmm det kører jo som en drøm. ;)
Avatar billede kenp Novice
15. august 2005 - 17:03 #8
Så skal man nok gøre opmærksom på at man er ved at afskaffe det med at man kan lave kontrol på cpr. nr. da man mangler ;)
Avatar billede roenving Novice
15. august 2005 - 17:10 #9
Njah, man har lavet forberedelserne til det, men håber stadig at det kan undgås, sidst jeg hørte nyt om det (vist i slutningen af sidste år !-), var der ved at være mangel på specielle datoer i 1950 (1/1) og nogle lignende i 70'erne, men stadig nogle stykker tilbage !o]

PS. Ken skal du ikke til Solrød Lørdag d. 27 August (http://hardwarekast.dannyboyd.dk/ !-)
Avatar billede kenp Novice
15. august 2005 - 17:29 #10
ps -> nej desværre :(

ja der er lidt tilbage men i nogle af dem er der kun mulighed for 2 mere osv. ;)
Avatar billede arne_v Ekspert
15. august 2005 - 17:40 #11
så vidt jeg ved er det er "indvandrer problem"

folk der ikke ved hvornår de er født får et gæt på år og så
bliver det 1/1 det år

men man kunne jo lige så godt vælge enhver anden dato end 1/1

1000 numre per dag bør være nok
Avatar billede roenving Novice
15. august 2005 - 17:47 #12
-- men der er ikke 1000, for alle de numre, hvor modulus 11-testen giver 10 på de første 9 cifre er jo ikke til rådighed !-)

-- desuden er der den differenting med det først ciffer i løbenummeret, som betyder, at kun op til 70% af de gyldige kan bruges !o]
Avatar billede arne_v Ekspert
15. august 2005 - 17:52 #13
det burde stadig være nok

80 år x 365 dage x 700 personer = 20 millioner
Avatar billede roenving Novice
15. august 2005 - 17:59 #14
Jepz, og du har helt ret i dine øvrige betragtninger ...

-- men nogle får en fødselsdato, f.eks. når de får udstedt passet, ikke når de danske myndigheder skal lave personnummeret !-)
Avatar billede roenving Novice
15. august 2005 - 18:01 #15
-- og så går der iøvrigt også en pulje til midlertidige personnumre, men den tages vel ikke fra de steder, hvor man i forvejen har problemet !-)
Avatar billede blackscorpion Nybegynder
15. august 2005 - 18:09 #16
wow... og hvad præcist betyder dette for mit bette script??
Avatar billede arne_v Ekspert
15. august 2005 - 18:17 #17
vi diskuterer bare om din kode kan bruges i 2 år eller 20 år eller 200 år
Avatar billede blackscorpion Nybegynder
15. august 2005 - 18:19 #18
hehe okey, fair nok. ;)

Når i når frem til en enighed, så ping mig lige ikke? ;)
Avatar billede kenp Novice
15. august 2005 - 18:23 #19
*G* så skal jeg måske lige fortælle at indvandere som ikke ved hvornår de er født får fødselsdato den da de kommer til danmark ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester