ROB BOWDEN: Kaixo, Rob naiz. Eta kobratuko zaren espero dut kreditua sortu. Beraz, lehenengo gauza egin behar dugu kreditu-txartela eskatuko da Erabiltzaileak emandako zenbakia. Hemen, getLongLong erabiltzen ari gara. Duzu ere erabili ahal getString, baina kasu horretan, litzaidake berriro egiaztatu behar duzu badira ere, ez ez-zenbakizko katea karaktere. Beraz getLongLong erabiliko dugu. Gogoratu ezin duzula zerbait erabili GetInt bezala, zenbaki geroztik izango handiegia da zenbaki oso bat sartzen. Behin zenbaki hori dugu, dugu ikusi hemen, berriz, begizta hau. Beraz, berriz, begizta hau praktikan jartzen ari da Luhn en algoritmoa duzula pset zehaztutako ikusten. Eta benetan joan pixka bat clever izan. Beraz pset zehaztutako batean, nabarituko Urrats eta bi bereizi dira. Kreditu txartelaren osoan zehar lehenengo genuen joan zenbakia, beste behin bila pertsonaia bigarren hasita ko pertsonaia, eta horiek biderkatuz eta zenbakiak, guztiak gehituz. Ondoren, horren ondoren, in gehitu dugu Beste digituak guztia. Beraz, horren ordez bi horiek egiteko urrats bereizi, ari gara, konbinatu behar Horien gainean iterazio bat sartu osoa kreditu txartelaren zenbakia. Hemen, int orain digitu berdin ikusiko dugu kreditu-txartelaren zenbakia, mod 10. Zein kreditu-txartelaren zenbakia da mod 10 egiten? Honez azken digitua emango digu hura kopuru osoan. Beraz, gogoan izan dugu banatzen bada zenbakira arte 10 eta, ondoren, gainerako izango litzateke edozein izanda ere azken digitua dela. 23 10 banatzen da, Gainerakoa 3 izango da. Beraz, azken digitua, orain, hemen, ikusiko dugu mult ari gara adarkatze 2 gehitu. Beraz, zer egingo mult erabiliz goaz 2 gehitu da ere bereizten "beste zenbakiak bakoitzaren batetik duen digitua bigarrena "zenbakiak. 2 by Mult da hasteko moduan joan faltsuak, azken digitua geroztik ez luke izango aurrera jotzen azken digitua bigarrena. Beraz, ondoren, honen amaieran loop, dugu ikusten ari gara hau aldatuko egia faltsua from. Hurrengo begizta egiteko iterazio oinarrituta, Egia jotzen den arte Azkenean, aldatu dugunean Egia batetik faltsua da. Ondoren hirugarren on dugu izan delako azken digitua, eta hori ez da bat digituak duten 2 biderkatu behar dugu. Den horietakoa izan gertatuko beraz badugu duten 2 bider nahi ditugun zenbakiak, ikusten dugu gure checksum dugu gehituz. Eta hemen, zu erabiltzen dugu hirutarra operadorea behin berriro eta pixka bat azkarra. Beraz, orain digitu 5 baino txikiagoa bada, orduan dugu besterik egin dezake orain digitu aldiz 2. Hori da erraza. 1 bada, orduan 2 gehitu nahi dugu. Bada, 2, 4 gehitu nahi dugu. Da 4 bada, 8 gehitu nahi dugu. Beraz, zer da 5 buruzko berezia? Beno, 5 aldiz 2 10 da. Eta pset zehaztutako etatik gogoratu du digituak gehitu nahi dugu kopurua bider 2, eta ez du kopurua bider 2 bera. Hala bada, jatorrizko zenbaki 7, 7 aldiz 2 14 da. Gehitzeko 1 plus 4 nahi dugu zenbakira, ez 14. Beraz, hemen, 5 zenbakia edo handiagoa bada, zer egiten ari garen orain digitua aldiz 2 ken 9. Eta hori uste baduzu, 5 aldiz 2 10 da. Eta horrela ari gehitzen dugu 1, horietatik 10 ken 9 da. Eta 6 aldiz 2 12 da. Beraz, gehitzen ari gara 3, zein 12 ken 9 da. Eta hori zenbaki guztietan lan egiten du. Beraz, zer gehitzen ari gara gure checksum izateko. Eta, bestela, hau da, zer Step manipulazioa Luhn en algoritmoa, hau da, besterik gabe, bi ez bada ez da gertatuko digitu gehituz Beste zenbakitik behin bat da. Beraz, behin, hori da mantenduz dugu lehen bi pertsonaien arrastoa kreditu txartelaren zenbaki lehen bi, digituak, azkenean goaz geroztik hemen erabili behera egiaztatzeko nahi, guztiak eskubidea, Visa batekin hasi behar du honekin, eta American Express beharrak kontuan honekin hasteko, eta abar. Azkenik, kreditu-txartelarekin egiten dugu zenbakia kreditu txartela berdinen zenbakia 10 arabera banatuta. Zergatik egin behar dugu? Beno, alde batetik kudeatu besterik ez dugu azken digitua. 10 zatituz filmea izango kopuru osoa baino gehiago. Beraz, orain denean begizta dugu atzera, gaude beharreko manipulazioa egingo du azken digitua bigarrena. Orduan, hau hit dugu berriro, goazen moztu bigarrenean iraungo digitua, begizta atzera, eta kudeatzeko hirugarrena digitua iraungo, eta abar, arte zenbakia 0 iristen, eta amaitzen da apurtu bitartean kanpo begiztaren dugu. Oraindik ere kredituaren jarraipena dugu txartelaren zenbakia luzera, geroztik hori da garrantzitsua ote den bereizteko baliozko kreditu-txartelaren zenbakia. Beraz, gaur egun, behin kalkulatuko ditugu: checksum, zehaztu ahal dugu ala baliozko txartel bat da. Checksum mod 10 parte da Luhn en algoritmoa. Checksum mod 10 itzultzen zerbait bada ez-zero, orduan hau egia itzuliko da, eta kasu horretan, zenbakia baliogabea izan behar du. Bestela, bada checksum mod 10 0 da, eta gero jarraitu ahal izango dugu. Hau big bestela bada esaten da, lehenengoa bada bi digituak AMEX 1 berdinak dira, non Hemen, ikusten dugun AMEX 1, zehaztapenak per gisa, 34 da. Eta gainera, ikusiko dugu konparatu AMEX 2, hau da, 37. Eta kreditu txartelaren zenbakia luzera da Amerikako espero Express berdina txartel luzera, eta gero ahal dugun inprimatu American Express. Antzeko gauza bat egin dugu Visa batekin. Lehen bi digituak handiagoa izan behar edo 40 berdina edo gutxiago baino baino edo 49 berdina. Horiek irudikatzeko baliozko Visa txartelak. Eta luzera beharrak berdina izango da Visa Luzera 1 edo Visa Length 2. Eta beraz, luzera bai izan behar du 13 edo 16 digitu izan. Eta, azkenik, MasterCard, hura da Visa antzekoa, lehenengo bi zifrako jakin bat egotea beharrezkoa sorta, eta luzera muztioa digituak zehazki 16 izango da. Beraz, orduan kasu horiek edozein eduki bada Lehenengo kasuan, inprimatu dugu AMEX. Kasu horri eutsiz gero, inprimatu dugu Visa. Kasu horri eutsiz gero, dugu inprimatu MasterCard. Baina horietako bat ere eduki bada, are checksum balekoa bazen, Oraindik ere baliogabe inprimatu dugu. Ez da bat delako karta-mota horiek. Nire izena Rob da, eta espero dut aurkitu kreditu interesgarria.