1 00:00:00,000 --> 00:00:00,820 2 00:00:00,820 --> 00:00:02,560 >> Zamyla Chan: Låt oss kolla din kredit. 3 00:00:02,560 --> 00:00:06,360 I detta problem, kommer vi att uppmana användaren för en ingång på ett kreditkortsnummer. 4 00:00:06,360 --> 00:00:10,090 Sedan ska vi köra det kreditkort nummer för att se om det är giltigt. 5 00:00:10,090 --> 00:00:13,430 Om så är fallet kommer vi att skriva företaget att det kreditkort tillhör. 6 00:00:13,430 --> 00:00:17,520 Annars kommer vi tala om för användaren att det kortet är ogiltigt. 7 00:00:17,520 --> 00:00:20,210 >> Låt oss hoppa rätt in med fråga efter användarens input. 8 00:00:20,210 --> 00:00:23,080 Kreditkortsnummer är av datatypen long_long, 9 00:00:23,080 --> 00:00:27,190 så CS50 biblioteksfunktion get_long_long kommer att vara ganska användbar. 10 00:00:27,190 --> 00:00:30,690 Men denna funktion gör att matar användaren in ett godtyckligt heltal. 11 00:00:30,690 --> 00:00:34,730 Så några positiva heltal, negativ heltal, eller noll är allt bra. 12 00:00:34,730 --> 00:00:37,560 Så upp till dig att ytterligare bekräfta huruvida 13 00:00:37,560 --> 00:00:41,770 användaren har gett oss ett giltigt typnummer kreditkort. 14 00:00:41,770 --> 00:00:44,560 >> Nu när vi har ett kreditkort tal från användaren, sedan 15 00:00:44,560 --> 00:00:46,580 vi behöver beräkna kontrollsumman. 16 00:00:46,580 --> 00:00:49,780 Så kreditkortskontrollsummor beräknas enligt följande. 17 00:00:49,780 --> 00:00:54,370 Från och med den näst sista siffran, vi multiplicera varannan siffra med 2. 18 00:00:54,370 --> 00:00:57,060 Då kan vi lägga till dem produkternas siffror tillsammans. 19 00:00:57,060 --> 00:01:00,140 Från att vi lägger till summan av siffrorna som 20 00:01:00,140 --> 00:01:03,780 var inte multipliceras med två till att föregående summa som vi beräknat. 21 00:01:03,780 --> 00:01:08,480 Slutligen, om detta nummer slutar i 0, då är giltigt. 22 00:01:08,480 --> 00:01:11,760 >> Låt oss gå igenom ett exempel och ta detta steg för steg. 23 00:01:11,760 --> 00:01:14,930 Så vår första steg är att starta från näst sista siffran 24 00:01:14,930 --> 00:01:18,080 och multiplicera varannan siffra med två. 25 00:01:18,080 --> 00:01:22,240 Nu, om jag lagrat kreditkort nummer i en variabel som kallas CC-numret, 26 00:01:22,240 --> 00:01:26,060 då modding att genom 10 skulle ge mig den allra sista siffran. 27 00:01:26,060 --> 00:01:28,910 Så hur kan du komma den näst sista siffran? 28 00:01:28,910 --> 00:01:32,030 >> OK, så när vi har tillgång till den näst sista siffran, 29 00:01:32,030 --> 00:01:35,790 då vi kommer att iterera igenom multiplicera varannan siffra med 2. 30 00:01:35,790 --> 00:01:38,620 När vi har det, då vi tar dessa produkter 31 00:01:38,620 --> 00:01:41,350 och lägga till dessa produkters siffror tillsammans. 32 00:01:41,350 --> 00:01:43,830 Så här har jag singel siffror, så det är bra. 33 00:01:43,830 --> 00:01:47,480 Men sedan när jag får min sista number-- 7 multiplicerad med 2-- 34 00:01:47,480 --> 00:01:52,080 Jag lägger till en och 4 för att ge mig 27. 35 00:01:52,080 --> 00:01:55,980 Därifrån lägger vi att product-- 27-- till summan av de siffror som 36 00:01:55,980 --> 00:01:57,790 inte multiplicerat med två. 37 00:01:57,790 --> 00:02:01,070 >> Så här har jag markerat alla av dessa siffror i orange. 38 00:02:01,070 --> 00:02:04,900 När vi lägger dessa siffror, då vi får vår sista kontrollsumma nummer. 39 00:02:04,900 --> 00:02:09,120 Så vi bekräfta det genom att göra säker på att den sista siffran är 0. 40 00:02:09,120 --> 00:02:12,635 Om kontrollsumman inte slutar med 0, då kreditkortsnumret 41 00:02:12,635 --> 00:02:14,400 är definitivt ogiltig. 42 00:02:14,400 --> 00:02:17,840 Annars, låt oss gå vidare till Kontrollera företagets identifierare 43 00:02:17,840 --> 00:02:19,870 och kreditkortsnummer längd. 44 00:02:19,870 --> 00:02:21,830 >> Vi har lämnat en förteckning av tre företag, 45 00:02:21,830 --> 00:02:25,940 tillsammans med det, antalet heltal att deras kreditkortsnummer har. 46 00:02:25,940 --> 00:02:29,630 Då de två första siffrorna som dessa kort kan börja med. 47 00:02:29,630 --> 00:02:34,070 Så upp till dig att hålla koll på två första siffrorna i kreditkortet 48 00:02:34,070 --> 00:02:37,620 och antalet heltal i det kortet. 49 00:02:37,620 --> 00:02:40,110 Och med det, du har avslutade problemet. 50 00:02:40,110 --> 00:02:44,210 Mitt namn är Zamyla, och detta var kredit. 51 00:02:44,210 --> 00:02:45,859