1 00:00:00,000 --> 00:00:00,820 2 00:00:00,820 --> 00:00:02,560 >> ZAMYLA Chan: Sizin kredit yoxlamaq edək. 3 00:00:02,560 --> 00:00:06,360 Bu problem, biz istifadəçi təklif edəcəyik kredit kartı sıra daxil. 4 00:00:06,360 --> 00:00:10,090 Sonra biz kredit kartı run lazımdır etibarlı əgər nömrə görmək. 5 00:00:10,090 --> 00:00:13,430 Əgər belədirsə, biz şirkət çap edəcəyik ki, kredit kartı məxsusdur. 6 00:00:13,430 --> 00:00:17,520 Əks halda, biz istifadəçi demək lazımdır ki, kart yanlışdır. 7 00:00:17,520 --> 00:00:20,210 >> ilə sağ tullanmaq edək istifadəçi girişi üçün isteyen. 8 00:00:20,210 --> 00:00:23,080 kredit kartı sayı data type long_long ki, 9 00:00:23,080 --> 00:00:27,190 belə CS50 kitabxana funksiyası get_long_long olduqca faydalı olacaq. 10 00:00:27,190 --> 00:00:30,690 Amma bu funksiyanı təmin edir istifadəçi hər hansı bir tam giriş. 11 00:00:30,690 --> 00:00:34,730 Belə ki, heç bir müsbət integers, mənfi integers, və ya sıfır bütün gözəl edir. 12 00:00:34,730 --> 00:00:37,560 qədər sizə Belə ki, daha və ya doğrulamak 13 00:00:37,560 --> 00:00:41,770 istifadəçi bizə etibarlı verdi kredit kartı növü nömrəsi. 14 00:00:41,770 --> 00:00:44,560 >> Biz kredit kartı İndi sonra istifadəçi sayı, 15 00:00:44,560 --> 00:00:46,580 biz checksum hesablamaq lazımdır. 16 00:00:46,580 --> 00:00:49,780 Belə ki, kredit kartı checksums aşağıdakı kimi hesablanır. 17 00:00:49,780 --> 00:00:54,370 son rəqəmli ikinci ildən başlayaraq, biz 2 hər bir digər rəqəmli çoxaltmaq. 18 00:00:54,370 --> 00:00:57,060 Sonra o əlavə birlikdə məhsullarının rəqəm. 19 00:00:57,060 --> 00:01:00,140 biz əlavə From rəqəm məbləği ki, 20 00:01:00,140 --> 00:01:03,780 ki, 2 vurulur deyil biz hesablanmış əvvəlki məbləği. 21 00:01:03,780 --> 00:01:08,480 Nəhayət, ki sayı başa əgər 0, sonra sayı etibarlıdır. 22 00:01:08,480 --> 00:01:11,760 >> Nin bir misal ilə getmək edək və addım bu addım. 23 00:01:11,760 --> 00:01:14,930 Belə ki, bizim ilk addım başlamaq üçün son xanaya ikinci 24 00:01:14,930 --> 00:01:18,080 və iki hər bir digər rəqəmli çoxaltmaq. 25 00:01:18,080 --> 00:01:22,240 İndi kredit kartı saxlanılır əgər dəyişən adlı CC sayı sayı, 26 00:01:22,240 --> 00:01:26,060 sonra 10 ki modding ki Mənə son rəqəmli verir. 27 00:01:26,060 --> 00:01:28,910 Belə ki, necə daxil ola bilər son rəqəmli ikinci? 28 00:01:28,910 --> 00:01:32,030 >> OK, belə ki, bir dəfə biz əldə etdik son rəqəmli ikinci, 29 00:01:32,030 --> 00:01:35,790 sonra biz vasitəsilə təkrarlamaq lazımdır 2 hər bir digər rəqəmli çarparaq. 30 00:01:35,790 --> 00:01:38,620 biz o ki, var biz bu məhsulları almaq lazımdır 31 00:01:38,620 --> 00:01:41,350 və birlikdə bu məhsulların rəqəm əlavə edin. 32 00:01:41,350 --> 00:01:43,830 Belə ki, burada mən bir var rəqəm, belə ki, gözəl. 33 00:01:43,830 --> 00:01:47,480 Amma sonra mənim son almaq bir dəfə saysız 7 2-- vurulur 34 00:01:47,480 --> 00:01:52,080 I 1 əlavə və 4 me 27 vermək. 35 00:01:52,080 --> 00:01:55,980 Oradan biz məhsulun ki, əlavə 27-- rəqəm cəmi ki, 36 00:01:55,980 --> 00:01:57,790 2 vurulur deyil. 37 00:01:57,790 --> 00:02:01,070 >> Belə ki, burada mən bütün qeyd etdik narıncı həmin nömrələri. 38 00:02:01,070 --> 00:02:04,900 biz bu rəqəm əlavə, sonra biz final checksum sayı almaq. 39 00:02:04,900 --> 00:02:09,120 Belə ki, biz edərək onu təsdiq əmin son rəqəmli 0 edir. 40 00:02:09,120 --> 00:02:12,635 checksum sona deyilsə 0, sonra kredit kartı nömrəsi 41 00:02:12,635 --> 00:02:14,400 mütləq yanlışdır. 42 00:02:14,400 --> 00:02:17,840 Əks halda, bu getmək imkan Şirkət tanımlayıcıları yoxlamaq 43 00:02:17,840 --> 00:02:19,870 və kredit kartı nömrəsi uzunluğu. 44 00:02:19,870 --> 00:02:21,830 >> Biz bir siyahısını təqdim etdik üç şirkətlərin, 45 00:02:21,830 --> 00:02:25,940 Bununla yanaşı, integers sayı kredit kartı nömrələri var. 46 00:02:25,940 --> 00:02:29,630 Sonra ilk iki rəqəm ki həmin kartlar ilə başlamaq bilər. 47 00:02:29,630 --> 00:02:34,070 size takip So kredit kartı ilk iki rəqəm 48 00:02:34,070 --> 00:02:37,620 ki, kart integers sayı. 49 00:02:37,620 --> 00:02:40,110 Və ki, siz var problem tamamladı. 50 00:02:40,110 --> 00:02:44,210 My name Zamyla və bu kredit idi. 51 00:02:44,210 --> 00:02:45,859