Betalingskenmerk puzzel

Forum over ING | Drinkplaats

Reageer
Highlighted
Leeuwenkoning

Betalingskenmerk puzzel

[ Bewerkt ]

Dit is een bericht geplaatst in het forum 'Drinkplaats', dus neem het niet te serieus. Smiley Vrolijk

 

De regels voor de geldigheid van een betalingskenmerk heb ik beschreven in deze reactie over betalingskenmerk. Ondanks de elfproef waaraan een betalingskenmerk langer dan 7 cijfers aan moet voldoen, bestaan er geldige betalingskenmerken (langer dan 7 cijfers) die maar op één plaats verschillen en er bestaan ook betalingskenmerken die geldig blijven als je twee cijfers omdraait. Voorbeelden:

  • Zowel 1000 0000 0000 0005 als 1000 0000 0000 0006 zijn geldige betalingskenmerken.
  • Zowel 1000 0000 0000 0380 als 1000 0000 0000 0830 zijn geldige betalingskenmerken.

Als een geldig betalingskenmerk (langer dan 7 cijfers) niet met een '1' begint, dan wordt het wel altijd ongeldig als je één cijfer vervangt of twee cijfers omwisselt.

 

Maar bestaan er ook geldige betalingskenmerken die met een '1' beginnen die altijd ongeldig worden als je één cijfer vervangt door een ander cijfer?

 

De geldigheid van een betalingskenmerk kun je o.a. controleren in het overschrijvingscherm van ING.

 

Puzzel ze! Smiley Erg vrolijk

GdR
Wijze leeuw

Re: Betalingskenmerk puzzel

Dag @Ron1961,

Klopt het dat uw puzzel gericht is aan de ING Verlegen kat

Leeuwenkoning

Re: Betalingskenmerk puzzel

Het is gericht aan alle forumleden die het leuk vinden om zo'n wiskundige puzzel op te lossen Vrolijke kat

GdR
Wijze leeuw

Re: Betalingskenmerk puzzel

[ Bewerkt ]

Dag @Ron1961,

U stelt wel een zeer moeilijke vraag. Moet men op de hoogte zijn van b.v. formules, logisch nadenken of kan me dit zelf oplossen, zonder kennis van wiskunde?

 

Wijze leeuw

Re: Betalingskenmerk puzzel

[ Bewerkt ]

Hallo @Ron1961

Leuke materie. I heb nog wel eens het genoegen gehad deze logica in een programma te mogen zetten. Handig bij het afpunten van de betalingen.

Hallo @GdR

In de reactie waar Ron naar verwijst wordt het uitgewerkt. We zullen het zien of er iemand intresse heeft om het uit te werken.

 

Het betalingskenmerk dat door de webshop was gegenereerd was in ieder geval fout daar. 

Groeten,

@Postbanker

Leeuwenkoning

Re: Betalingskenmerk puzzel

[ Bewerkt ]

Hint:

Zeg de cijfers van het betalingskenmerk zijn a_k a_(k-1) ... a_2 a_1, waarbij in dit geval a_k = 1 het controlecijfer is. We hebben dan twee mogelijkheden:

  1. De som 2^1 x a_1 + 2^2 x a_2 + 2^3 x a_3 + ... + 2^(k-1) x a_(k-1) is een 11-voud plus 1.
  2. De som 2^1 x a_1 + 2^2 x a_2 + 2^3 x a_3 + ... + 2^(k-1) x a_(k-1) is een 11-voud plus 10.

Stel je hebt het eerste geval en je wilt het laatste cijfer a_1 zo aanpassen dat je daardoor in het tweede geval terecht komt. Dat kan alleen door a_1 te vervangen door a_1 - 1. Omgekeerd als je een betalingskenmerk van het tweede type hebt, dan kan die alleen worden veranderd in het eerste type door a_1 te vervangen door a_1 + 1.

 

Dus als je een voorbeeld zoekt van een geldig betalingskenmerk beginnend met een '1' dat altijd ongeldig wordt als je het laatste cijfer verandert, dan moet dat laatste cijfer wel een '0' (type 1) of een '9' (type 2) zijn. Kun je ook testen:

  • 1000 0000 0000 0030 is een geldig betalingskenmerk van type 1 dat altijd ongeldig wordt als je het laatste cijfer verandert.
  • 1000 0000 0000 0099 is een geldig betalingskenmerk van type 2 dat altijd ongeldig wordt als je het laatste cijfer verandert.

 

Nu moet je het één na laatste cijfer a_2 bekijken. Dat wordt in de formule met 4 vermenigvuldigd. Even nadenken en je ziet in:

  • Om van type 1 naar type 2 komen, moet je bij a_2 vijf optellen (of zes aftrekken)
  • Om van type 2 naar type 1 komen, moet je bij a_2 zes optellen (of vijf aftrekken)

Dus als je weer een voorbeeld wilt maken van een geldig betalingskenmerk beginnend met '1' dat altijd ongeldig wordt als je het één na laatste cijfer verandert, dan moet dat één na laatste cijfer wel een '5' (type 1) of een '4' (type 2) zijn. Kun je ook weer testen:

  • 1000 0000 0000 5050 is een geldig betalingskenmerk van type 1 dat altijd ongeldig wordt als je het laatste cijfer of het één na laatste cijfer verandert.
  • 1000 0000 0000 0849 is een geldig betalingskenmerk van type 2 dat altijd ongeldig wordt als je het laatste cijfer of het één na laatste cijfer verandert.

En zo moet je doorgaan en hopen dat je uiteindelijk één of meerdere voorbeelden vindt. Als de lengte kleiner dan 16 is moet het lengtecijfer natuurlijk ook nog kloppen.

Ervaren leeuw

Re: Betalingskenmerk puzzel

@Ron1961 Ik moet hier een snipperdag voor opnemen bij m'n baas. Dit gaan we niet oplossen in 5 minuten!

Leeuwenkoning

Re: Betalingskenmerk puzzel

[ Bewerkt ]

Oplossing:

Met de eerder gegeven hint moet cijfer op plaats i (van achter af geteld) voor een mogelijk betalingskenmerk zijn: 10 - 9 / 2^i modulo 11 (type 1) of 10 - 2 / 2^i modulo 11 (type 2).

 

Dit geeft de volgende mogelijke betalingskenmerken:

174986250, 1374986250, 11374986250, 101374986250, 1501374986250, 12501374986250, 1862501374986250

en 125013749, 1625013749, 18625013749, 198625013749, 1498625013749, 17498625013749, 1137498625013749.

 

Alleen de vetgedrukte reeksen blijken geldige betalingskenmerken te zijn. Ik vond het wel frappant dat er slechts drie geldige betalingskenmerken (waarvan maar eentje met lengte 16) bestaan die met een '1' beginnen en die ongeldig worden als je een cijfer op één plaats door een ander vervangt.