1 00:00:00,000 --> 00:00:05,860 >> [సంగీతాన్ని] 2 00:00:05,860 --> 00:00:09,530 >> డౌ LLOYD: మీరు బహుశా ఆ అనుకుంటున్నాను కోడ్ కేవలం ఒక విధిని ఉపయోగిస్తారు. 3 00:00:09,530 --> 00:00:10,450 మీరు దాన్ని వ్రాయండి. 4 00:00:10,450 --> 00:00:11,664 ఇది ఏదో చేస్తాడు. 5 00:00:11,664 --> 00:00:12,580 అది చాలా ఉంది. 6 00:00:12,580 --> 00:00:13,160 >> మీరు కంపైల్. 7 00:00:13,160 --> 00:00:13,993 మీరు ప్రోగ్రామ్ అమలు. 8 00:00:13,993 --> 00:00:15,370 మీరు అన్నిటికి ఉన్నాము. 9 00:00:15,370 --> 00:00:17,520 >> కానీ అది నమ్మకం లేదా, ఉంటే మీరు ఒక కాలం సంకేతానికి 10 00:00:17,520 --> 00:00:20,550 మీరు నిజంగా చూడటానికి వచ్చి ఉండవచ్చు బావుంది ఏదో కోడ్. 11 00:00:20,550 --> 00:00:23,275 ఇది ఒక సమస్య పరిష్కారమవుతుంది చాలా ఆసక్తికరమైన మార్గం, 12 00:00:23,275 --> 00:00:26,510 లేదా నిజంగా కేవలం ఏదో ఉంది ఇది కనిపిస్తుంది మార్గం గురించి చక్కగా. 13 00:00:26,510 --> 00:00:28,750 మీరు నవ్వుతున్నారు ఉండవచ్చు నన్ను, కానీ ఇది నిజం. 14 00:00:28,750 --> 00:00:31,530 మరియు సూత్రం ఒక మార్గం విధమైన ఈ ఆలోచన పొందడానికి 15 00:00:31,530 --> 00:00:34,090 అందమైన, సొగసైన కనిపించే కోడ్. 16 00:00:34,090 --> 00:00:37,740 ఇది విధాలుగా సమస్యలను పరిష్కరించే దృశ్యమానత సులభంగా, ఆసక్తికరమైన ఉంటాయి 17 00:00:37,740 --> 00:00:39,810 మరియు ఆశ్చర్యపరిచే చిన్న. 18 00:00:39,810 --> 00:00:43,190 >> మార్గం సూత్రం రచనలు ఒక పునరావృత ఫంక్షన్ ఉంది 19 00:00:43,190 --> 00:00:49,291 కాల్స్ ఒక ఫంక్షన్ నిర్వచిస్తారు కూడా దాని అమలు యొక్క భాగంగా. 20 00:00:49,291 --> 00:00:51,790 ఆ, కొద్దిగా వింత అనిపించవచ్చు ఉండవచ్చు మరియు మేము కొద్దిగా చూస్తారు 21 00:00:51,790 --> 00:00:53,750 ఈ ఒక క్షణం పనిచేస్తుంది ఎలా. 22 00:00:53,750 --> 00:00:55,560 కానీ మళ్ళీ, ఈ పునరావృత విధానాలు 23 00:00:55,560 --> 00:00:57,730 కాబట్టి సొగసైన అవతరిస్తుంది వారు వెళుతున్న ఎందుకంటే 24 00:00:57,730 --> 00:01:00,410 లేకుండా ఈ సమస్యను పరిష్కరించడానికి ఈ ఇతర విధులు కలిగి 25 00:01:00,410 --> 00:01:02,710 లేదా ఈ దీర్ఘ ఉచ్చులు. 26 00:01:02,710 --> 00:01:06,310 మీరు ఈ పునరావృత చూస్తారు విధానాలు కాబట్టి చిన్న చూడండి వెళ్తున్నారు. 27 00:01:06,310 --> 00:01:10,610 మరియు వారు నిజంగా సిధ్ధంగా మీ కోడ్ చాలా అందమైన చూడండి. 28 00:01:10,610 --> 00:01:12,560 >> నేను మీరు ఒక ఉదాహరణ ఇస్తాను ఈ ఎలా చూడండి 29 00:01:12,560 --> 00:01:14,880 ఒక పునరావృత విధానం నిర్వచించవచ్చు. 30 00:01:14,880 --> 00:01:18,202 మీరు ఈ తెలిసి చేస్తే అనేక సంవత్సరాల క్రితం గణిత తరగతి నుండి 31 00:01:18,202 --> 00:01:20,910 ఏదో అని సాధారణంగా ఇది కారకమైన ఫంక్షన్, 32 00:01:20,910 --> 00:01:25,340 ఆశ్చర్యార్థకం పాయింట్, వలె సూచించవచ్చు ఇది అన్ని సానుకూల పూర్ణాంకాల పైగా నిర్వచిస్తారు. 33 00:01:25,340 --> 00:01:28,850 మరియు మార్గం ఆ n కారకమైన లెక్కిస్తారు 34 00:01:28,850 --> 00:01:31,050 మీరు అన్ని గుణిస్తారు ఉంటుంది కంటే సంఖ్యలు తక్కువ 35 00:01:31,050 --> 00:01:33,750 లేదా సమాన n together-- కు అన్ని పూర్ణాంకాల కంటే తక్కువ 36 00:01:33,750 --> 00:01:34,880 లేదా కలిసి n సమానంగా. 37 00:01:34,880 --> 00:01:39,850 >> కాబట్టి 5 కారకమైన 5 సార్లు 4 సార్లు 3 సార్లు 2 సార్లు 1. 38 00:01:39,850 --> 00:01:43,020 మరియు 4 కారకమైన 4 సార్లు 3 సార్లు 2 సార్లు 1 మరియు అందువలన న. 39 00:01:43,020 --> 00:01:44,800 మీరు ఆలోచన పొందుటకు. 40 00:01:44,800 --> 00:01:47,060 >> ప్రోగ్రామర్లు, మేము లేదు n, ఆశ్చర్యార్థకం పాయింట్ ఉపయోగించండి. 41 00:01:47,060 --> 00:01:51,840 కాబట్టి మేము కారకమైన నిర్వచించే చేస్తాము n యొక్క నిజానికి పనిచేస్తుంది. 42 00:01:51,840 --> 00:01:56,897 మరియు మేము సృష్టించడానికి కారకమైన ఉపయోగిస్తాము ఒక సమస్యకు పునరావృత పరిష్కారం. 43 00:01:56,897 --> 00:01:59,230 నేను మీరు దొరికే అనుకుంటున్నాను అది మరింత చాలా దృశ్యపరంగా అని 44 00:01:59,230 --> 00:02:02,380 పునరుత్థాన కంటే ఆకర్షణీయంగా ఈ వెర్షన్, 45 00:02:02,380 --> 00:02:05,010 మేము కూడా ఒక క్షణం లో పరిశీలించి చేస్తాము. 46 00:02:05,010 --> 00:02:08,310 >> కాబట్టి ఇక్కడ ఒక జంట ఉన్నాయి facts-- పన్ ఉద్దేశించిన 47 00:02:08,310 --> 00:02:10,169 గురించి factorial-- కారకమైన ఫంక్షన్. 48 00:02:10,169 --> 00:02:13,090 నేను అన్నాడు వంటి 1 యొక్క కారకమైన, 1. 49 00:02:13,090 --> 00:02:15,690 2 యొక్క కారకమైన 2 సార్లు 1 ఉంది. 50 00:02:15,690 --> 00:02:18,470 3 యొక్క కారకమైన 3 టైమ్స్ 2 అందువలన న సార్లు 1, మరియు. 51 00:02:18,470 --> 00:02:20,810 మేము ఇప్పటికే 4 మరియు 5 గురించి మాట్లాడారు. 52 00:02:20,810 --> 00:02:23,940 >> కానీ ఈ చూడటం, ఇది నిజం కాదు? 53 00:02:23,940 --> 00:02:28,220 2 కారకమైన కేవలం కాదు 2 సార్లు 1 యొక్క కారకమైన? 54 00:02:28,220 --> 00:02:31,130 నా ఉద్దేశ్యం, 1 కారకమైన 1 ఉంది. 55 00:02:31,130 --> 00:02:34,940 సో ఎందుకు మేము ఆ చెప్పలేము, 2 యొక్క కారకమైన 2 సార్లు 1 నుండి, 56 00:02:34,940 --> 00:02:38,520 అది నిజంగా కేవలం 2 సార్లు 1 యొక్క కారకమైన? 57 00:02:38,520 --> 00:02:40,900 >> ఆపై, ఆ ఆలోచన పొడిగిస్తూ 3 యొక్క కారకమైన కాదు 58 00:02:40,900 --> 00:02:44,080 కేవలం 3 సార్లు 2 యొక్క కారకమైన? 59 00:02:44,080 --> 00:02:50,350 మరియు 4 యొక్క కారకమైన 4 సార్లు అందువలన న 3, మరియు యొక్క కారకమైన? 60 00:02:50,350 --> 00:02:52,530 నిజానికి, కారకమైన అయినా కేవలం చెయ్యవచ్చు 61 00:02:52,530 --> 00:02:54,660 రకం మనం ఉంటే వ్యక్తపరచలేని యొక్క ఎప్పటికీ ఈ చేపడుతుంటారు. 62 00:02:54,660 --> 00:02:56,870 మేము రకమైన సాధారణీకరించి కారకమైన సమస్య 63 00:02:56,870 --> 00:02:59,910 అంతే గా n సార్లు n మైనస్ 1 యొక్క కారకమైన. 64 00:02:59,910 --> 00:03:04,840 అది n సార్లు ఉత్పత్తి అన్ని సంఖ్యలు నాకు కంటే తక్కువ. 65 00:03:04,840 --> 00:03:08,890 >> ఈ ఆలోచన, ఈ సమస్య యొక్క సాధారణీకరణ, 66 00:03:08,890 --> 00:03:13,410 మాకు పునరావృతంగా అనుమతిస్తుంది కారకమైన ఫంక్షన్ వివరిస్తాయి. 67 00:03:13,410 --> 00:03:15,440 మీరు ఒక ఫంక్షన్ నిర్వచించే సమయంలో పునరావృతంగా ఉంది 68 00:03:15,440 --> 00:03:17,470 అది ఒక భాగంగా అవసరమైన రెండు విషయాలు. 69 00:03:17,470 --> 00:03:20,990 మీరు ఏదో ఒక అంటారు కలిగి ఉండాలి బేస్ కేసు ఇది మీరు అది ట్రిగ్గర్ ఉన్నప్పుడు, 70 00:03:20,990 --> 00:03:22,480 పునరావృత ప్రక్రియ ఆగిపోతుంది. 71 00:03:22,480 --> 00:03:25,300 >> లేకపోతే, ఒక ఫంక్షన్ కాల్స్ స్వయంగా మీరు imagine-- ఉండవచ్చు 72 00:03:25,300 --> 00:03:26,870 ఎప్పటికీ వెళ్ళవచ్చు. 73 00:03:26,870 --> 00:03:29,047 ఫంక్షన్ ఫంక్షన్ ఫంక్షన్ కాల్స్ కాల్స్ 74 00:03:29,047 --> 00:03:30,380 ఫంక్షన్ ఫంక్షన్ కాల్స్. 75 00:03:30,380 --> 00:03:32,380 మీరు ఒక మార్గం లేకపోతే మీ ప్రోగ్రామ్ అది ఆపడానికి 76 00:03:32,380 --> 00:03:34,760 సమర్థవంతంగా కష్టం అవుతుంది ఒక అనంతమైన లూప్ వద్ద. 77 00:03:34,760 --> 00:03:37,176 ఇది చివరికి క్రాష్ చేస్తుంది ఇది మెమరీ రన్నవుట్ చేస్తాము ఎందుకంటే. 78 00:03:37,176 --> 00:03:38,990 కానీ ఆ పాయింట్ పక్కన ఉంది. 79 00:03:38,990 --> 00:03:42,210 >> మేము ఆపడానికి కొన్ని ఇతర విధంగా కలిగి ఉండాలి మా కార్యక్రమం క్రాషింగ్ పాటు విషయాల, 80 00:03:42,210 --> 00:03:46,010 కూలిపోతుంది అని ఒక కార్యక్రమం ఎందుకంటే బహుశా అందమైన లేదా సొగసైన కాదు. 81 00:03:46,010 --> 00:03:47,690 కాబట్టి మేము ఈ బేస్ కేసు కాల్. 82 00:03:47,690 --> 00:03:50,610 ఈ ఒక సాధారణ పరిష్కారం స్టాప్ల ఇది ఒక సమస్యకు 83 00:03:50,610 --> 00:03:52,770 జరగకుండా పునరావృత ప్రక్రియ. 84 00:03:52,770 --> 00:03:55,220 కాబట్టి ఆ యొక్క ఒక భాగం ఉంది ఒక పునరావృత ఫంక్షన్. 85 00:03:55,220 --> 00:03:56,820 >> రెండవ భాగం పునరావృత కేసు. 86 00:03:56,820 --> 00:03:59,195 మరియు ఈ ఇక్కడ సూత్రం ఉంది నిజానికి జరుగుతాయి. 87 00:03:59,195 --> 00:04:02,200 ఈ ఇక్కడ ఫంక్షన్ కూడా కాల్ చేస్తుంది. 88 00:04:02,200 --> 00:04:05,940 >> ఇది ఖచ్చితంగా కూడా కాల్ అదే విధంగా పిలిచారు. 89 00:04:05,940 --> 00:04:08,880 ఇది కొంచెం వైవిధ్యం ఉంటాం అంతే సమస్య చేస్తుంది 90 00:04:08,880 --> 00:04:11,497 ఒక teeny బిట్ చిన్న పరిష్కరించడానికి ప్రయత్నిస్తున్న. 91 00:04:11,497 --> 00:04:14,330 కానీ అది సాధారణంగా బక్ వెళుతుంది పరిష్కారం యొక్క బల్క్ పరిష్కార 92 00:04:14,330 --> 00:04:17,450 లైన్ డౌన్ వేరే కాల్. 93 00:04:17,450 --> 00:04:20,290 >> ఈ కనిపిస్తోంది ఏది ఇక్కడ బేస్ కేసు వంటి? 94 00:04:20,290 --> 00:04:25,384 ఏ వంటి ఈ కనిపిస్తోంది ఒకటి సమస్య సరళమైన పరిష్కారం? 95 00:04:25,384 --> 00:04:27,550 మేము factorials ఒక సమూహం కలిగి, మరియు మేము కొనసాగడం 96 00:04:27,550 --> 00:04:30,470 అందువలన న మొదలైనవి 6, 7, 8, 9, 10, మరియు వెళుతున్న. 97 00:04:30,470 --> 00:04:34,130 >> కానీ ఒక వంటి ఈ కనిపిస్తోంది ఒకటి మంచి సందర్భంలో బేస్ కేసు ఉండాలి. 98 00:04:34,130 --> 00:04:35,310 ఇది చాలా సులభమైన పరిష్కారం ఉంది. 99 00:04:35,310 --> 00:04:37,810 మేము ప్రత్యేక ఏమీ లేదు. 100 00:04:37,810 --> 00:04:40,560 >> 1 యొక్క కారకమైన కేవలం 1. 101 00:04:40,560 --> 00:04:42,790 మేము ఏ చేయాలని లేదు గుణకారం అన్ని వద్ద. 102 00:04:42,790 --> 00:04:45,248 మేము వెళుతున్న ఉంటే ఉన్నట్లు కనిపిస్తోంది ప్రయత్నించండి మరియు ఈ సమస్యను పరిష్కరించడానికి, 103 00:04:45,248 --> 00:04:47,600 మరియు మేము ఆపడానికి అవసరం ఎక్కడో సూత్రం, 104 00:04:47,600 --> 00:04:50,610 మేము బహుశా మీరనుకుంటున్నారు అది మేము 1 వచ్చినప్పుడు. 105 00:04:50,610 --> 00:04:54,580 మేము ముందు మీరనుకుంటున్నారు లేదు. 106 00:04:54,580 --> 00:04:56,660 >> మేము నిర్వచించు చేస్తున్నారు చేస్తే మా కారకమైన ఫంక్షన్, 107 00:04:56,660 --> 00:04:58,690 ఇక్కడ ఒక అస్థిపంజరం వార్తలు మేము అలా ఎలా. 108 00:04:58,690 --> 00:05:03,110 మేము ఆ రెండు విషయాలు ప్లగ్ అవసరం బేస్ కేసు మరియు పునరావృత కేసు. 109 00:05:03,110 --> 00:05:04,990 బేస్ కేసు ఏమిటి? 110 00:05:04,990 --> 00:05:10,150 N 1 సమానంగా ఉంటే, తిరిగి 1 కలిగి ఆ ఒక నిజంగా సాధారణ సమస్య పరిష్కరించడానికి. 111 00:05:10,150 --> 00:05:11,890 >> 1 యొక్క కారకమైన 1 ఉంది. 112 00:05:11,890 --> 00:05:13,860 ఇది కాదు 1 సార్లు ఏదైనా ఉంది. 113 00:05:13,860 --> 00:05:15,020 ఇది కేవలం 1 అనిపిస్తుంది. 114 00:05:15,020 --> 00:05:17,170 ఇది ఒక చాలా సులభం వాస్తవం కాదు. 115 00:05:17,170 --> 00:05:19,620 కాబట్టి మా బేస్ కేస్ ఉంటుంది. 116 00:05:19,620 --> 00:05:24,730 మేము ఈ లోకి 1 ఆమోదించింది కలిగితే ఫంక్షన్, మేము కేవలం 1 తిరిగి ఉంటాం. 117 00:05:24,730 --> 00:05:27,320 >> పునరావృత ఏమిటి కేసు బహుశా కనిపిస్తుంది? 118 00:05:27,320 --> 00:05:32,445 ప్రతి ఇతర నెంబర్ 1 పాటు, నమూనా ఏమిటి? 119 00:05:32,445 --> 00:05:35,780 Well, మేము వేస్తున్నాము ఉంటే n యొక్క కారకమైన 120 00:05:35,780 --> 00:05:38,160 అంతే n సార్లు n యొక్క కారకమైన మైనస్ 1. 121 00:05:38,160 --> 00:05:42,130 >> మేము 3 యొక్క కారకమైన వేస్తున్నాము ఉంటే, ఇది 3 మైనస్ 1 యొక్క 3 సార్లు కారకమైన వార్తలు 122 00:05:42,130 --> 00:05:43,070 లేదా 2. 123 00:05:43,070 --> 00:05:47,330 మరియు మేము లేదు కనుక లేకపోతే, 1 చూడటం 124 00:05:47,330 --> 00:05:51,710 తిరిగి n సార్లు n మైనస్ 1 యొక్క కారకమైన. 125 00:05:51,710 --> 00:05:53,210 ఇది చాలా సూటిగా ఉంది. 126 00:05:53,210 --> 00:05:57,360 >> మరియు కొద్దిగా కలిగి మాట కోసం క్లీనర్ మరియు కోడ్ మరింత సొగసైన, 127 00:05:57,360 --> 00:06:01,440 తెలిసిన ఒకే లైన్ ఉచ్చులు కలిగి ఉంటే లేదా ఒకే లైన్ నియత శాఖలు, 128 00:06:01,440 --> 00:06:04,490 మేము అన్ని వదిలించుకోవటం చేయవచ్చు వాటిని చుట్టూ కర్లీ జంట కలుపులు. 129 00:06:04,490 --> 00:06:06,850 కాబట్టి మేము ఈ ఈ ఏకీకృతం చేయవచ్చు. 130 00:06:06,850 --> 00:06:09,640 ఈ ఖచ్చితంగా అదే ఉంది ఈ వంటి కార్యాచరణను. 131 00:06:09,640 --> 00:06:13,850 >> నేను కేవలం వంకర దూరంగా తీసుకొని చేస్తున్నాను ఒకే లైన్ ఉంది ఎందుకంటే, జంట కలుపులు 132 00:06:13,850 --> 00:06:18,500 ఆ నియత శాఖలు లోపల. 133 00:06:18,500 --> 00:06:21,160 కాబట్టి ఈ ఒకే ప్రవర్తిస్తాయి. 134 00:06:21,160 --> 00:06:23,800 N 1 సమానంగా ఉంటే, 1 తిరిగి. 135 00:06:23,800 --> 00:06:28,351 లేకపోతే n సార్లు తిరిగి n మైనస్ 1 యొక్క కారకమైన. 136 00:06:28,351 --> 00:06:29,850 కాబట్టి మేము చిన్న సమస్య ఉంచుతున్నాము. 137 00:06:29,850 --> 00:06:33,850 N 5 వంటి మొదలవుతుంది ఉంటే, మేము చేయబోతున్నామని 4 5 సార్లు కారకమైన తిరిగి. 138 00:06:33,850 --> 00:06:37,100 మరియు మేము మాట్లాడినప్పుడు ఒక నిమిషం లో చూస్తారు మరొక వీడియో లో కాల్ stack-- గురించి 139 00:06:37,100 --> 00:06:39,390 ఇక్కడ మేము గురించి మాట్లాడటానికి మేము నేర్చుకోవచ్చు stack-- కాల్ 140 00:06:39,390 --> 00:06:41,630 సరిగ్గా ఈ ప్రక్రియ పనిచేస్తుంది ఎందుకు. 141 00:06:41,630 --> 00:06:46,970 >> కానీ 5 యొక్క అయితే కారకమైన చెప్పారు 5 సార్లు కారకమైన 4 తిరిగి, మరియు 4 142 00:06:46,970 --> 00:06:49,710 OK, అలాగే, సే అన్నారు, తిరిగి 4 సార్లు 3 యొక్క కారకమైన. 143 00:06:49,710 --> 00:06:51,737 మీరు చూడగలరు గా, మేము ఉన్నాము విధమైన 1 సమీపించే. 144 00:06:51,737 --> 00:06:53,820 మేము దగ్గరగా చేస్తున్నారు మరియు ఆ బేస్ కేసు కు దగ్గరగా ఉంది. 145 00:06:53,820 --> 00:06:58,180 >> మరియు మేము బేస్ కేసు హిట్ ఒకసారి, మునుపటి విధులను అన్ని 146 00:06:58,180 --> 00:07:00,540 వారు వెతుకుతున్న సమాధానం కలిగి. 147 00:07:00,540 --> 00:07:03,900 2 కారకమైన తిరిగి చెప్పడం జరిగింది 2 సార్లు 1 యొక్క కారకమైన. 148 00:07:03,900 --> 00:07:06,760 Well, 1 రాబడి 1 యొక్క కారకమైన. 149 00:07:06,760 --> 00:07:10,090 కారకమైన కాబట్టి కాల్ 2, 2 సార్లు 1 తిరిగి చేయవచ్చు 150 00:07:10,090 --> 00:07:13,980 మరియు యొక్క కారకమైన ఆ తిరిగి ఇవ్వాలని ఫలితంగా కోసం వేచి ఉంది 3. 151 00:07:13,980 --> 00:07:17,110 >> ఆపై లెక్కించవచ్చు దాని ఫలితంగా, 3 సార్లు 2, 6 152 00:07:17,110 --> 00:07:18,907 మరియు 4 యొక్క కారకమైన దానిని తిరిగి ఇవ్వండి. 153 00:07:18,907 --> 00:07:20,740 మరియు తిరిగి, మేము ఒక కలిగి కాల్ స్టాక్ లో వీడియో 154 00:07:20,740 --> 00:07:23,810 ఈ ఒక చిన్న సోదాహరణ పేరు నేను ప్రస్తుతం చెప్పడం నేను కంటే ఎక్కువ. 155 00:07:23,810 --> 00:07:25,300 కానీ ఇదే. 156 00:07:25,300 --> 00:07:29,300 ఈ ఒక్క పరిష్కారం ఒక సంఖ్య యొక్క కారకమైన గణన. 157 00:07:29,300 --> 00:07:31,527 >> ఇది కోడ్ మాత్రమే నాలుగు పంక్తులు ఉంది. 158 00:07:31,527 --> 00:07:32,610 కుడివైపు, అందంగా చల్లని ఏమిటి? 159 00:07:32,610 --> 00:07:35,480 ఇది సెక్సీ ఉంటాము. 160 00:07:35,480 --> 00:07:38,580 >> కాబట్టి సాధారణంగా, కానీ ఎల్లప్పుడూ ఒక పునరావృత ఫంక్షన్ 161 00:07:38,580 --> 00:07:41,190 ఒక లూప్ భర్తీ చేయవచ్చు కాని పునరావృత ఫంక్షన్. 162 00:07:41,190 --> 00:07:46,100 ఇక్కడ, పక్కపక్కనే, పద్దతి కారకమైన ఫంక్షన్ యొక్క వెర్షన్. 163 00:07:46,100 --> 00:07:49,650 ఈ లెక్కించేందుకు రెండు సరిగ్గా అదే విషయం. 164 00:07:49,650 --> 00:07:52,170 >> వారు రెండు n యొక్క కారకమైన లెక్కించేందుకు. 165 00:07:52,170 --> 00:07:54,990 ఎడమ వెర్షన్ దీన్ని సూత్రం ఉపయోగిస్తుంది. 166 00:07:54,990 --> 00:07:58,320 కుడివైపు వెర్షన్ దీన్ని మళ్ళా ఉపయోగిస్తుంది. 167 00:07:58,320 --> 00:08:02,050 >> మరియు నోటీసు, మేము డిక్లేర్ కలిగి పూర్ణాంకం ఉత్పత్తి ఒక వేరియబుల్. 168 00:08:02,050 --> 00:08:02,940 మరియు తర్వాత మేము లూప్. 169 00:08:02,940 --> 00:08:06,790 సో లాంగ్ n వంటి మేము 0 కంటే ఎక్కువ ఉంది n ద్వారా ఉత్పత్తి గుణించడం ఉంచడానికి 170 00:08:06,790 --> 00:08:09,890 వరకు n దానికి వీలు మేము ఉత్పత్తి లెక్కించేందుకు. 171 00:08:09,890 --> 00:08:14,600 కాబట్టి ఈ రెండు విధులు, మళ్ళీ, సరిగ్గా ఇదే. 172 00:08:14,600 --> 00:08:19,980 కానీ వారు దీన్ని లేదు సరిగ్గా అదే విధంగా. 173 00:08:19,980 --> 00:08:22,430 >> ఇప్పుడు, అది సాధ్యమే ఒకటి కంటే ఎక్కువ బేస్ కలిగి 174 00:08:22,430 --> 00:08:25,770 కేసు లేదా ఒకటి కంటే ఎక్కువ పునరావృత కేసు ఆధారపడి 175 00:08:25,770 --> 00:08:27,670 ఏం మీ ఫంక్షన్ చేయాలని ప్రయత్నిస్తున్నారు. 176 00:08:27,670 --> 00:08:31,650 మీరు తప్పనిసరిగా కేవలం వీటికే పరిమితం కావు ఏక ఆధార కేసు లేదా ఒకే పునరావృత 177 00:08:31,650 --> 00:08:32,370 కేసు. 178 00:08:32,370 --> 00:08:35,320 ఏదో ఒక ఉదాహరణ బహుళ బేస్ కేసులు 179 00:08:35,320 --> 00:08:37,830 కావచ్చు దీన్ని ఫైబొనాక్సీ సంఖ్య క్రమం. 180 00:08:37,830 --> 00:08:41,549 >> మీరు నుండి గుర్తుకు ప్రాథమిక పాఠశాల రోజుల 181 00:08:41,549 --> 00:08:45,740 ఫైబొనాక్సీ క్రమం నిర్వచిస్తారు ఈ వంటి మొదటి మూలకం 0. 182 00:08:45,740 --> 00:08:46,890 రెండవ మూలకం 1 ఉంది. 183 00:08:46,890 --> 00:08:49,230 ఆ రెండు కేవలం నిర్వచనం ద్వారా ఉన్నాయి. 184 00:08:49,230 --> 00:08:55,920 >> అప్పుడు ప్రతి ఇతర మూలకం నిర్వచిస్తారు n మైనస్ 1 మరియు n మైనస్ 2 మొత్తాలుగా. 185 00:08:55,920 --> 00:09:00,330 మూడవ మూలకం కాబట్టి 0 ప్లస్ 1 1 సమానంగా ఉంటుంది. 186 00:09:00,330 --> 00:09:03,280 మరియు అప్పుడు నాల్గవ మూలకం రెండవ మూలకం, 1 ఉంటుంది, 187 00:09:03,280 --> 00:09:06,550 ప్లస్ మూడవ మూలకం, 1. 188 00:09:06,550 --> 00:09:08,507 మరియు ఆ 2 ఉంటుంది. 189 00:09:08,507 --> 00:09:09,340 అందువలన మరియు అందువలన న. 190 00:09:09,340 --> 00:09:11,680 >> కాబట్టి ఈ సందర్భంలో, మనం రెండు బేస్ కేసులు నమోదయ్యాయి. 191 00:09:11,680 --> 00:09:14,850 N 1 సమానంగా ఉంటే, 0 తిరిగి. 192 00:09:14,850 --> 00:09:18,560 N 2 సమానంగా ఉంటే, 1 తిరిగి. 193 00:09:18,560 --> 00:09:25,930 లేకపోతే, n యొక్క ఫైబొనాక్సీ తిరిగి మైనస్ 1 ప్లస్ n మైనస్ 2 ఫైబొనాక్సీ. 194 00:09:25,930 --> 00:09:27,180 >> కాబట్టి ఆ బహుళ బేస్ కేసులు వార్తలు. 195 00:09:27,180 --> 00:09:29,271 ఏం బహుళ పునరావృత సందర్భాల్లో గురించి? 196 00:09:29,271 --> 00:09:31,520 బాగా, ఏదో ఉంది Collatz ప్రతిపాదనను అని. 197 00:09:31,520 --> 00:09:34,630 నేను చెప్పేది వెళుతున్న కాదు మీరు ఆ ఏమి 198 00:09:34,630 --> 00:09:38,170 నిజానికి మా చివరి ఎందుకంటే ఈ ప్రత్యేక వీడియో సమస్య. 199 00:09:38,170 --> 00:09:43,220 మరియు అది మా వ్యాయామం వార్తలు కలిసి పని. 200 00:09:43,220 --> 00:09:46,760 >> కాబట్టి ఇక్కడ ఏది Collatz ప్రతిపాదనను is-- 201 00:09:46,760 --> 00:09:48,820 ఇది ప్రతి సానుకూల పూర్ణాంక వర్తిస్తుంది. 202 00:09:48,820 --> 00:09:51,500 మరియు అది అంతే ఊహాగానాలను ఎల్లప్పుడూ సాధ్యం తిరిగి పొందడానికి 203 00:09:51,500 --> 00:09:55,060 1 మీరు ఈ దశలను అనుసరించండి ఉంటే. 204 00:09:55,060 --> 00:09:57,560 N 1 ఉంటే, ఆపడానికి. 205 00:09:57,560 --> 00:10:00,070 N 1 ఉంటే మేము 1 తిరిగి పొందారు. 206 00:10:00,070 --> 00:10:05,670 >> లేకపోతే, ఈ ద్వారా వెళ్ళడానికి మరలా ఆ ప్రక్రియ న n 2 ద్వారా విభజించబడింది. 207 00:10:05,670 --> 00:10:08,200 మీరు 1 తిరిగి పొందవచ్చు ఉంటే చూడండి. 208 00:10:08,200 --> 00:10:13,260 N బేసి సంఖ్యగా పెడితే, ద్వారా వెళ్ళడానికి మళ్ళీ 3N ప్లస్ 1 న ఈ ప్రక్రియ 209 00:10:13,260 --> 00:10:15,552 లేదా 3 సార్లు n ప్లస్ 1. 210 00:10:15,552 --> 00:10:17,010 కాబట్టి ఇక్కడ ఒక సింగిల్ బేస్ కేసు కలిగి. 211 00:10:17,010 --> 00:10:18,430 N 1 సమానంగా ఉంటే, ఆపడానికి. 212 00:10:18,430 --> 00:10:20,230 మేము ఏ సూత్రం చేయడం లేదు. 213 00:10:20,230 --> 00:10:23,730 >> కానీ మేము రెండు పునరావృత కేసులు నమోదయ్యాయి. 214 00:10:23,730 --> 00:10:28,750 N సరి సంఖ్యలో ఉన్నట్లయితే, మేము ఒక పునరావృత చేయండి కేసు n 2 ద్వారా విభజించబడింది కాల్. 215 00:10:28,750 --> 00:10:33,950 N బేసి ఉంటే, మేము వేరొక చేయాలని 3 సార్లు n ప్లస్ 1 న పునరావృత కేసు. 216 00:10:33,950 --> 00:10:39,120 >> కాబట్టి ఈ వీడియో లక్ష్యం , రెండవ పడుతుంది వీడియోకు విరామము, 217 00:10:39,120 --> 00:10:42,440 మరియు ప్రయత్నించండి మరియు ఈ వ్రాయడానికి పునరావృత ఫంక్షన్ Collatz 218 00:10:42,440 --> 00:10:47,640 మీరు ఎక్కడ, ఒక విలువ n లో పాస్ మరియు అది ఎన్ని దశలు ఇది లెక్కిస్తుంది 219 00:10:47,640 --> 00:10:52,430 మీరు n నుండి మొదలు ఉంటే 1 పొందుటకు పడుతుంది మరియు మీరు పైన ఆ దశలను అనుసరించాల్సి. 220 00:10:52,430 --> 00:10:56,660 N 1 ఉంటే, అది 0 దశలను పడుతుంది. 221 00:10:56,660 --> 00:11:00,190 లేకపోతే, అది జరగబోతోంది అయితే ఒక అడుగు ప్లస్ పడుతుంది 222 00:11:00,190 --> 00:11:06,200 అది గాని n తీసుకుంటుంది అనేక దశలు 2 ద్వారా విభజించబడింది n సరిసంఖ్య, లేదా 3N ప్లస్ 1 ఉంటే 223 00:11:06,200 --> 00:11:08,100 n బేసి ఉంటే. 224 00:11:08,100 --> 00:11:11,190 >> ఇప్పుడు, నేను ఇక్కడ తెరపై ఉంచాము మీరు కోసం పరీక్ష విషయాలను, 225 00:11:11,190 --> 00:11:15,690 మీరు కోసం పరీక్షలు కేసులు రెండు, చూడటానికి ఈ వివిధ Collatz సంఖ్యలు ఏమిటో, 226 00:11:15,690 --> 00:11:17,440 మరియు కూడా దృష్టాంతం దశలను ఆ 227 00:11:17,440 --> 00:11:20,390 కాబట్టి మీరు ద్వారా పోయింది అవసరం విధమైన చర్య లో ఈ ప్రక్రియ చూడండి. 228 00:11:20,390 --> 00:11:24,222 N సమానంగా ఉంటే కాబట్టి 1, n యొక్క Collatz 0. 229 00:11:24,222 --> 00:11:26,180 మీరు చేయాల్సిందల్లా లేదు ఏదైనా 1 తిరిగి పొందడానికి. 230 00:11:26,180 --> 00:11:27,600 మీరు ఇప్పటికే అక్కడ ఉన్నారు. 231 00:11:27,600 --> 00:11:30,550 >> N 2 ఉంటే, అది పడుతుంది ఒక అడుగు 1 చెయ్యడానికి. 232 00:11:30,550 --> 00:11:31,810 మీరు 2 ప్రారంభం. 233 00:11:31,810 --> 00:11:33,100 Well, 2 1 సమానం కాదు. 234 00:11:33,100 --> 00:11:36,580 కనుక ఇది ఒక అడుగు చేస్తాడు ప్లస్ అయితే ఎన్ని చర్యలు 235 00:11:36,580 --> 00:11:38,015 తీసుకుంటుంది n 2 ద్వారా విభజించబడింది. 236 00:11:38,015 --> 00:11:41,280 237 00:11:41,280 --> 00:11:42,910 >> 2 ద్వారా విభజించబడింది 2 1 ఉంది. 238 00:11:42,910 --> 00:11:47,200 కనుక ఇది అయితే ఒక అడుగు ప్లస్ పడుతుంది ఎన్ని చర్యలు 1 పట్టే. 239 00:11:47,200 --> 00:11:49,720 1 సున్నా దశలను పడుతుంది. 240 00:11:49,720 --> 00:11:52,370 >> మీరు చూడగలరు గా 3, ఉంది చాలా కొన్ని దశలను పాల్గొన్నారు. 241 00:11:52,370 --> 00:11:53,590 మీరు 3 నుండి వెళ్ళండి. 242 00:11:53,590 --> 00:11:56,710 ఆపై మీరు వెళ్ళండి 10, 5, 16, 8, 4, 2, 1. 243 00:11:56,710 --> 00:11:58,804 ఇది 1 తిరిగి పొందడానికి ఏడు దశలు. 244 00:11:58,804 --> 00:12:01,220 మీరు చూడగలరు గా, అక్కడ ఒక ఇక్కడ జంట ఇతర పరీక్ష కేసులు 245 00:12:01,220 --> 00:12:02,470 మీ కార్యక్రమాన్ని పరీక్షించడానికి. 246 00:12:02,470 --> 00:12:03,970 మరలా, వీడియోకు విరామము. 247 00:12:03,970 --> 00:12:09,210 నేను ఇప్పుడు తిరిగి వెళ్ళు వెళ్తారో వాస్తవ ప్రక్రియను ఇక్కడ ఏమి, 248 00:12:09,210 --> 00:12:11,390 ఈ ప్రతిపాదనను ఏమిటి. 249 00:12:11,390 --> 00:12:14,140 >> మీరు గుర్తించడానికి లేదో చూడండి n యొక్క Collatz ఎలా నిర్వచించాలి? 250 00:12:14,140 --> 00:12:19,967 అది ఎన్ని లెక్కిస్తుంది కాబట్టి ఇది 1 పొందుటకు పడుతుంది వేసింది. 251 00:12:19,967 --> 00:12:23,050 సో ఆశాజనక, మీరు వీడియో పాజ్ చేశారు మరియు మీరు కేవలం నాకు వేచి లేదు 252 00:12:23,050 --> 00:12:25,820 ఇక్కడ మీరు సమాధానం ఇవ్వాలని. 253 00:12:25,820 --> 00:12:29,120 కానీ మీరు ఉంటే, బాగా, ఇక్కడ సమాధానం ఏమైనప్పటికీ వార్తలు. 254 00:12:29,120 --> 00:12:33,070 >> కాబట్టి ఇక్కడ ఒక అవకాశం నిర్వచనం ఉంది Collatz ఫంక్షన్. 255 00:12:33,070 --> 00:12:35,610 N ఉంటే మా బేస్ సందర్భంలో 1 సమానంగా, మేము 0 తిరిగి. 256 00:12:35,610 --> 00:12:38,250 ఇది ఏ తీసుకోదు దశలను 1 తిరిగి పొందడానికి. 257 00:12:38,250 --> 00:12:42,710 >> లేకపోతే, మేము రెండు పునరావృత సందర్భాలలో కలిగి సరి సంఖ్యలను కోసం ఒకటి మరియు బేసి కోసం ఒకటి. 258 00:12:42,710 --> 00:12:47,164 నేను కూడా సంఖ్యలు పరీక్షించేందుకు మార్గం n mod 2 0 సమానం తనిఖీ చేయడం. 259 00:12:47,164 --> 00:12:49,080 ఈ, మళ్ళీ, రప్పించింది ప్రశ్న అడగడం, 260 00:12:49,080 --> 00:12:54,050 మీరు ఏమి mod is-- గుర్తుకు ఉంటే నేను 2 విభజించి n ఏ మిగిలిన ఉంది? 261 00:12:54,050 --> 00:12:55,470 ఒక సరి సంఖ్య ఉంటుంది. 262 00:12:55,470 --> 00:13:01,370 >> అందువలన N mod 2 0 సమానం ఉంటే పరీక్షల ఈ ఒక కూడా సంఖ్యలో ఉంది. 263 00:13:01,370 --> 00:13:04,250 అలా అయితే, నేను 1 తిరిగి అనుకుంటున్నారా, ఈ ఖచ్చితంగా ఎందుకంటే 264 00:13:04,250 --> 00:13:09,270 ఒక అడుగు ప్లస్ Collatz తీసుకొని సంఖ్యపరంగా నాకు సగం ఉంటుంది. 265 00:13:09,270 --> 00:13:13,910 లేకపోతే, నేను 1 తిరిగి అనుకుంటున్నారా ప్లస్ Collatz 3 సార్లు n ప్లస్ 1. 266 00:13:13,910 --> 00:13:16,060 ఇతర ఉంది పునరావృత అడుగు మేము 267 00:13:16,060 --> 00:13:19,470 లెక్కించేందుకు పడుతుంది దశలను సంఖ్య Collatz-- 268 00:13:19,470 --> 00:13:22,610 అది తిరిగి పొందడానికి పడుతుంది 1 ఒక సంఖ్య ఇవ్వబడుతుంది. 269 00:13:22,610 --> 00:13:24,610 సో ఆశాజనక, ఈ ఉదాహరణ మీరు కొద్దిగా ఇచ్చింది 270 00:13:24,610 --> 00:13:26,620 పునరావృత విధానాలు ఒక రుచి యొక్క. 271 00:13:26,620 --> 00:13:30,220 ఆశాజనక, మీరు కోడ్ ఒక అనుకుంటాను కొంచెం ఉంటే అందమైన అమలు 272 00:13:30,220 --> 00:13:32,760 ఒక సొగసైన, పునరావృత విధంగా. 273 00:13:32,760 --> 00:13:35,955 కూడా లేకపోతే కానీ, సూత్రం ఒక అయితే నిజంగా శక్తివంతమైన సాధనం. 274 00:13:35,955 --> 00:13:38,330 మరియు కనుక ఇది ఖచ్చితంగా ఏదో వార్తలు చుట్టూ మీ తల పొందడానికి, 275 00:13:38,330 --> 00:13:41,360 మీరు సృష్టించడానికి చెయ్యగలరు ఎందుకంటే సూత్రం ఉపయోగించి అందంగా చల్లని కార్యక్రమాలు 276 00:13:41,360 --> 00:13:45,930 ఇంకోవిధంగా రాయడానికి క్లిష్టమైన కావచ్చు మీరు ఉచ్చులు మరియు మళ్ళా ఉపయోగిస్తున్నట్లయితే. 277 00:13:45,930 --> 00:13:46,980 నేను డౌ లాయిడ్ ఉన్నాను. 278 00:13:46,980 --> 00:13:48,780 ఈ CS50 ఉంది. 279 00:13:48,780 --> 00:13:50,228