1 00:00:00,000 --> 00:00:13,290 2 00:00:13,290 --> 00:00:14,570 >> ROB 보덴은 : 안녕, 난 롭 해요. 3 00:00:14,570 --> 00:00:17,610 그리고 난 당신이 비용이 청구 희망 신용 최대. 4 00:00:17,610 --> 00:00:20,710 우리가해야 할 그래서 일단 신용 카드를 요구한다 5 00:00:20,710 --> 00:00:22,710 사용자의 번호입니다. 6 00:00:22,710 --> 00:00:25,060 여기, 우리는 getLongLong을 사용하고 있습니다. 7 00:00:25,060 --> 00:00:29,070 또한, getString에 사용, 수도 있지만, 이 경우에는 확인해야 할 것 8 00:00:29,070 --> 00:00:32,340 어떤 숫자가 아닌이 있었다 없다 문자열의 문자. 9 00:00:32,340 --> 00:00:34,560 그래서 우리는 getLongLong를 사용합니다. 10 00:00:34,560 --> 00:00:38,070 >> 당신이 뭔가를 사용할 수 없다는 것을 기억하십시오 getInt와 같은 수 있기 때문에 될 것입니다 11 00:00:38,070 --> 00:00:40,650 정수에 맞게 너무 커서. 12 00:00:40,650 --> 00:00:44,480 우리는 그 숫자가 있으면, 우리 이 while 루프는 여기를 참조하십시오. 13 00:00:44,480 --> 00:00:48,210 따라서이 while 루프가 실행된다 LUHN 알고리즘 당신 14 00:00:48,210 --> 00:00:50,980 PSET 사양을 참조하십시오. 15 00:00:50,980 --> 00:00:53,830 >> 그리고 실제로거야 조금 영리합니다. 16 00:00:53,830 --> 00:01:00,800 그래서 PSET 사양에 주목하는 1, 2는 분리 된 단계를 반복합니다. 17 00:01:00,800 --> 00:01:05,160 우리는 먼저 전체의 신용 카드를 통해 이동 수, 다른 모든 찾고 18 00:01:05,160 --> 00:01:09,775 문자로 두 번째부터 마지막 문자, 그 곱 19 00:01:09,775 --> 00:01:11,750 모든 숫자를 추가. 20 00:01:11,750 --> 00:01:16,150 그 후, 우리는에 추가 다른 모든 숫자. 21 00:01:16,150 --> 00:01:20,660 >> 그래서 그 대신 두에 그 일을 별도의 단계, 우리는 결합거야 22 00:01:20,660 --> 00:01:24,430 그 이상이 한 번에 전체 신용 카드 번호. 23 00:01:24,430 --> 00:01:29,710 여기, 우리는 INT 현재 자리 등호를 참조하십시오 신용 카드 번호, 모드 10. 24 00:01:29,710 --> 00:01:32,050 신용 카드 번호는 무엇입니까 모드 10 일? 25 00:01:32,050 --> 00:01:35,750 그것은 우리에게 마지막 자리를주고 전체 숫자. 26 00:01:35,750 --> 00:01:39,340 그래서 기억 우리가 나눈 경우 (10)에 의해 최대 수, 그 다음 나머지 27 00:01:39,340 --> 00:01:42,180 그 마지막 자리는 무엇이든 할 것이다. 28 00:01:42,180 --> 00:01:46,560 23, 10으로 나눈 나머지는 3이됩니다. 29 00:01:46,560 --> 00:01:53,760 >> 그래서 마지막 자리는, 지금 여기, 우리가 참조 우리는 (2)에 의해 배수에 분기입니다. 30 00:01:53,760 --> 00:01:57,630 그래서 우리는 배수를 사용하는 것입니다 2에 의해는 구별된다 31 00:01:57,630 --> 00:02:02,110 "다른 모든 숫자 중 하나에서 두 번째 숫자 "숫자. 32 00:02:02,110 --> 00:02:08,310 (2)에 의한 배수는 밖으로 시작하는 것입니다 거짓, 마지막 숫자 이후 안된다 33 00:02:08,310 --> 00:02:11,750 에서 고려되어야 마지막 자리에 두 번째. 34 00:02:11,750 --> 00:02:16,760 >> 그럼 루프에 대한이의 끝에서, 우리 우리는이를 변경하는 거라고 볼 35 00:02:16,760 --> 00:02:18,870 false에서 true. 36 00:02:18,870 --> 00:02:22,520 For 루프의 다음 반복에, 그 때까지 사실로 간주 것 37 00:02:22,520 --> 00:02:25,090 우리는 변화의 끝, 사실에서 false로. 38 00:02:25,090 --> 00:02:28,290 우리는 세 번째에있을거야 때문에 중 하나가 아닌 마지막 자리, 39 00:02:28,290 --> 00:02:32,210 우리가 2를 곱해야 자리. 40 00:02:32,210 --> 00:02:37,410 >> 우리는 그 중 하나가 될 일이 경우 우리가 2를 곱하려는 숫자, 41 00:02:37,410 --> 00:02:40,610 우리는 우리가 우리의 검사에 추가하고 참조하십시오. 42 00:02:40,610 --> 00:02:43,640 그리고 여기, 우리에게 사용하는 삼항 연산자에 한 번 43 00:02:43,640 --> 00:02:45,470 다시 조금 영리. 44 00:02:45,470 --> 00:02:50,170 그래서 현재 자리는, 5 미만이면 우리는 단지 현재 자리 2 배를 할 수 있습니다. 45 00:02:50,170 --> 00:02:50,690 그건 간단합니다. 46 00:02:50,690 --> 00:02:52,770 그것은 1의 경우에, 우리는 2를 추가 할. 47 00:02:52,770 --> 00:02:54,090 이 두 경우에, 우리는 4를 추가 할. 48 00:02:54,090 --> 00:02:55,530 이 4의 경우, 우리는 8을 추가 할. 49 00:02:55,530 --> 00:02:57,400 >> 그래서 5에 대한 특별 해? 50 00:02:57,400 --> 00:03:00,290 음, 5 배 2는 10입니다. 51 00:03:00,290 --> 00:03:05,920 그리고 PSET 사양에서 기억이 우리의 자리를 추가 할 52 00:03:05,920 --> 00:03:09,300 수 시간이 아닌 수의 2 배 자체. 53 00:03:09,300 --> 00:03:13,920 그렇다면 원래의 수 7, 7 번 2는 14입니다. 54 00:03:13,920 --> 00:03:18,930 우리는 1 + 4를 추가 할 수에,하지 14. 55 00:03:18,930 --> 00:03:24,050 >> 그래서 여기 수가 5 이상이면, 우리가하는 일은 현재 자리입니다 56 00:03:24,050 --> 00:03:26,470 2 배 마이너스 9. 57 00:03:26,470 --> 00:03:29,940 그리고 당신이 그것에 대해 생각하면, 5 배 2는 10입니다. 58 00:03:29,940 --> 00:03:33,130 그래서 우리는, 1을 추가하는 10 빼기 9입니다. 59 00:03:33,130 --> 00:03:35,490 6 곱하기 2는 12입니다. 60 00:03:35,490 --> 00:03:38,380 그래서 우리는 3을 추가하고있는 12 빼기 9입니다. 61 00:03:38,380 --> 00:03:40,250 그리고 그 모든 숫자에 대해 작동합니다. 62 00:03:40,250 --> 00:03:43,330 >> 그래서 우리가 추가하는 무엇 우리의 체크섬. 63 00:03:43,330 --> 00:03:49,970 그리고이 다른 단계를 처리하는 무슨이다 단지입니다 LUHN의 알고리즘, 두 64 00:03:49,970 --> 00:03:55,010 이 발생하지 않는 경우에 숫자를 추가 다른 모든 숫자 중 하나. 65 00:03:55,010 --> 00:04:01,440 그래서 일단 우리는이 유지되고 있음이 처음 두 문자의 추적 66 00:04:01,440 --> 00:04:05,220 신용 카드 번호, 처음 두 우리는 결국려고하고 있기 때문에 숫자, 67 00:04:05,220 --> 00:04:08,980 확인 여기 저기에 사용하려는 것은, 모든 권리, 비자를 시작할 수있다 68 00:04:08,980 --> 00:04:14,440 이와 함께, 그리고 아메리칸 익스프레스 요구 이 시작, 등등.합니다 69 00:04:14,440 --> 00:04:16,850 >> 마지막으로, 우리는 신용 카드를 수행 수는 신용 카드와 동일 70 00:04:16,850 --> 00:04:18,730 수는 10로 나눈. 71 00:04:18,730 --> 00:04:19,829 왜 우리가해야합니까? 72 00:04:19,829 --> 00:04:22,070 음, 우리는 단지 마지막 숫자를 처리합니다. 73 00:04:22,070 --> 00:04:24,880 10 나누면 이동합니다 전체 수에. 74 00:04:24,880 --> 00:04:27,150 다시 때 우리가 루프 그래서 지금, 우린 처리 될 것 75 00:04:27,150 --> 00:04:28,540 마지막 자리에 두 번째. 76 00:04:28,540 --> 00:04:31,060 우리가 다시 충돌 할 때 다음, 우리는거야 마지막으로 두 번째를 잘라 77 00:04:31,060 --> 00:04:35,060 숫자, 루프 백, 취급 제 때까지, 그래서 숫자를 지속하고에 78 00:04:35,060 --> 00:04:40,120 수는 어느 시점에서 0이 우리는 while 루프의 탈옥. 79 00:04:40,120 --> 00:04:43,560 >> 우리는 또한 신용을 추적하고 카드 번호의 길이, 즉이기 때문에 80 00:04:43,560 --> 00:04:48,440 그것의 여부를 구별하는 것이 중요합니다 유효한 신용 카드 번호. 81 00:04:48,440 --> 00:04:53,560 그래서 지금 한 번 우리가 계산 한 검사, 우리는 확인할 수 있습니다 그것은 여부 82 00:04:53,560 --> 00:04:55,180 유효한 카드입니다. 83 00:04:55,180 --> 00:04:58,010 체크섬 모드 (10)는 부분입니다 LUHN의 알고리즘. 84 00:04:58,010 --> 00:05:03,360 검사 모드 (10) 반환 일 경우 아닌, 다음이, true를 돌려줍니다 85 00:05:03,360 --> 00:05:06,650 이 경우에있어서, 숫자 유효해야합니다. 86 00:05:06,650 --> 00:05:12,590 >> 그렇지 않은 경우 체크섬 모드 10 0, 우리는 계속할 수 있습니다. 87 00:05:12,590 --> 00:05:18,360 이것은, 다른 큰 말하는 경우 제 경우 두 자리는, AMEX 1과 동일하다 88 00:05:18,360 --> 00:05:23,640 여기서 여기까지, 우리는 볼이 AMEX 1은 사양에 따라 34입니다. 89 00:05:23,640 --> 00:05:26,595 그리고 우리는 또한 비교합니다 37이다 AMEX 2,에. 90 00:05:26,595 --> 00:05:30,360 91 00:05:30,360 --> 00:05:34,210 및 크레디트 카드 번호의 길이는 예상 아메리칸 익스프레스와 동일 92 00:05:34,210 --> 00:05:37,910 카드 길이, 우리는 할 수있다 아메리칸 익스프레스를 인쇄 할 수 있습니다. 93 00:05:37,910 --> 00:05:41,920 >> 우리는 비자와 비슷한 일을 할 수 있습니다. 94 00:05:41,920 --> 00:05:51,940 처음 두 자리는 더 할 필요가 40 같거나 이하 95 00:05:51,940 --> 00:05:54,290 이상 또는 49에 해당. 96 00:05:54,290 --> 00:05:57,180 사람들은 유효한 비자 카드를 나타냅니다. 97 00:05:57,180 --> 00:06:01,530 길이는 동일 할 필요 비자 길이 1 비자 길이 2. 98 00:06:01,530 --> 00:06:07,320 그리고 길이는 하나 여야합니다 13 또는 16 자리까지. 99 00:06:07,320 --> 00:06:12,240 >> 그리고 마지막으로 마스터와 함께, 그것의 비자 유사한, 즉 처음 두 100 00:06:12,240 --> 00:06:15,340 숫자는 특정 될 필요 범위 및 길이 마스트 101 00:06:15,340 --> 00:06:19,440 정확히 16 자리 숫자입니다. 102 00:06:19,440 --> 00:06:24,390 따라서 이러한 경우의는, 다음에 개최하는 경우 첫 번째 경우, 우리는 AMEX를 인쇄 할 수 있습니다. 103 00:06:24,390 --> 00:06:26,310 이 경우 보유하고있는 경우에, 우리는 비자를 인쇄 할 수 있습니다. 104 00:06:26,310 --> 00:06:28,400 이 경우 보유하고있는 경우에, 우리는거야 마스터 카드를 인쇄 할 수 있습니다. 105 00:06:28,400 --> 00:06:32,170 >> 그러나 그 중 어느 것도 보유하지 않는 경우도 체크섬이 유효했다 경우 106 00:06:32,170 --> 00:06:33,900 우리는 여전히 유효 인쇄 할 수 있습니다. 107 00:06:33,900 --> 00:06:37,050 그 중 하나가 아니니까 카드 이러한 유형의. 108 00:06:37,050 --> 00:06:40,030 내 이름은 롭, 나는 당신을 희망 발견 신용 흥미. 109 00:06:40,030 --> 00:06:46,272