1 00:00:00,000 --> 00:00:05,860 >> [MIZIK jwe] 2 00:00:05,860 --> 00:00:09,530 >> Doug Lloyd: Ou pwobableman panse ke Kòd se jis itilize yo akonpli yon travay. 3 00:00:09,530 --> 00:00:10,450 Ou ekri li soti. 4 00:00:10,450 --> 00:00:11,664 Li fè sa yon bagay. 5 00:00:11,664 --> 00:00:12,580 Sa a bèl anpil li. 6 00:00:12,580 --> 00:00:13,160 >> Ou konpile li. 7 00:00:13,160 --> 00:00:13,993 Ou kouri pwogram nan. 8 00:00:13,993 --> 00:00:15,370 Ou se bon yo ale. 9 00:00:15,370 --> 00:00:17,520 >> Men, kwè li ou pa, si ou kòd pou yon tan long, 10 00:00:17,520 --> 00:00:20,550 ou aktyèlman ta ka vin wè Kòd kòm yon bagay sa a, se bèl. 11 00:00:20,550 --> 00:00:23,275 Li rezoud yon pwoblèm nan yon fason trè enteresan, 12 00:00:23,275 --> 00:00:26,510 oswa si gen nan jis yon bagay ki reyèlman pwòp sou wout la li sanble. 13 00:00:26,510 --> 00:00:28,750 Ou ka ri nan m ', men li la vre. 14 00:00:28,750 --> 00:00:31,530 Apre sa, se yon fason rkursyon sòt de jwenn ide sa a 15 00:00:31,530 --> 00:00:34,090 nan bèl, elegant-kap kòd. 16 00:00:34,090 --> 00:00:37,740 Li rezoud pwoblèm nan fason ki yo enteresan, fasil yo visualized, 17 00:00:37,740 --> 00:00:39,810 ak surprenante kout. 18 00:00:39,810 --> 00:00:43,190 >> Travay yo fason rkursyon se, yon fonksyon repetitif 19 00:00:43,190 --> 00:00:49,291 se defini kòm yon fonksyon ki rele tèt li kòm yon pati nan ekzekisyon li yo. 20 00:00:49,291 --> 00:00:51,790 Sa ta ka sanble yon ti kras etranj, epi nou pral wè yon ti jan 21 00:00:51,790 --> 00:00:53,750 sou ki jan sa a ap travay nan yon moman. 22 00:00:53,750 --> 00:00:55,560 Men, ankò, sa yo pwosedi repetitif yo 23 00:00:55,560 --> 00:00:57,730 ale yo dwe tèlman gwo bèl chato paske yo ap ale 24 00:00:57,730 --> 00:01:00,410 yo rezoud pwoblèm sa a san gen tout bagay sa yo lòt fonksyon 25 00:01:00,410 --> 00:01:02,710 oswa sa yo pasan lontan. 26 00:01:02,710 --> 00:01:06,310 Ou pral wè ke sa yo repetitif pwosedi yo ale nan gade konsa kout. 27 00:01:06,310 --> 00:01:10,610 Apre sa, yo reyèlman yo ale nan fè kòd ou a gade yon anpil plis bèl. 28 00:01:10,610 --> 00:01:12,560 >> Mwen pral ba w yon egzanp nan sa a yo wè ki jan 29 00:01:12,560 --> 00:01:14,880 yon pwosedi repetitif ka defini. 30 00:01:14,880 --> 00:01:18,202 Se konsa, si w ap abitye ak sa a nan klas matematik anpil ane de sa, 31 00:01:18,202 --> 00:01:20,910 gen nan yon bagay yo rele nan faktoryèl fonksyon, ki se nòmalman 32 00:01:20,910 --> 00:01:25,340 deziye kòm yon pwen esklamasyon, ki se defini sou tout nonm antye relatif pozitif. 33 00:01:25,340 --> 00:01:28,850 Apre sa, fason ke n faktoryèl se kalkile 34 00:01:28,850 --> 00:01:31,050 se ou anpil anpil pitit tout nan chif yo mwens pase 35 00:01:31,050 --> 00:01:33,750 oswa egal a N together-- tout nonm antye relatif yo mwens pase 36 00:01:33,750 --> 00:01:34,880 oswa egal a n ansanm. 37 00:01:34,880 --> 00:01:39,850 >> Se konsa, 5 faktoryèl se 5 fwa 4 fwa 3 fwa 2 fwa 1. 38 00:01:39,850 --> 00:01:43,020 Ak 4 faktoryèl se 4 fwa 3 fwa 2 fwa 1 ak sou sa. 39 00:01:43,020 --> 00:01:44,800 Ou jwenn lide la. 40 00:01:44,800 --> 00:01:47,060 >> Kòm pwogramasyon, nou pa fè sa itilize n, pwen esklamasyon. 41 00:01:47,060 --> 00:01:51,840 Se konsa, nou pral defini faktoryèl a fonksyon kòm reyalite nan n. 42 00:01:51,840 --> 00:01:56,897 Epitou, n ap sèvi ak faktoryèl yo kreye yon solisyon repetitif nan yon pwoblèm. 43 00:01:56,897 --> 00:01:59,230 Apre sa, mwen panse ke ou ta ka jwenn ke li nan yon anpil plis vizyèlman 44 00:01:59,230 --> 00:02:02,380 fè apèl kont pase repete nan vèsyon an sa a, ki 45 00:02:02,380 --> 00:02:05,010 nou pral pran tou yon gade nan nan yon moman. 46 00:02:05,010 --> 00:02:08,310 >> Se konsa, isit la yo se yon koup la facts-- Pun intended-- 47 00:02:08,310 --> 00:02:10,169 sou factorial-- nan faktoryèl fonksyon. 48 00:02:10,169 --> 00:02:13,090 Faktoryèl a nan 1, jan mwen te di, se 1. 49 00:02:13,090 --> 00:02:15,690 Faktoryèl a nan 2 a se 2 fwa 1. 50 00:02:15,690 --> 00:02:18,470 Faktoryèl a nan 3 se 3 fwa 2 fwa 1, ak sou sa. 51 00:02:18,470 --> 00:02:20,810 Nou te pale de 4 ak 5 deja. 52 00:02:20,810 --> 00:02:23,940 >> Men, gade nan sa a, se pa sa a vre? 53 00:02:23,940 --> 00:02:28,220 Se pa faktoryèl nan 2 jis 2 fwa faktoryèl a nan 1? 54 00:02:28,220 --> 00:02:31,130 Mwen vle di, faktoryèl a nan 1 se 1. 55 00:02:31,130 --> 00:02:34,940 Se konsa, poukisa pa ka nou jis di ke, depi faktoryèl a 2 se 2 fwa 1, 56 00:02:34,940 --> 00:02:38,520 li a vrèman jis 2 fwa faktoryèl a nan 1? 57 00:02:38,520 --> 00:02:40,900 >> Lè sa a, pwolonje lide sa a, se pa faktoryèl a nan 3 58 00:02:40,900 --> 00:02:44,080 jis 3 fwa faktoryèl a nan 2? 59 00:02:44,080 --> 00:02:50,350 Apre sa, faktoryèl a nan 4 se 4 fwa faktoryèl a nan 3, ak sou sa? 60 00:02:50,350 --> 00:02:52,530 An reyalite, faktoryèl a nan nenpòt ki nimewo ka jis 61 00:02:52,530 --> 00:02:54,660 dwe manifeste si nou kalite a pote sa a soti pou tout tan. 62 00:02:54,660 --> 00:02:56,870 Nou ka kalite jeneralizasyon pwoblèm nan faktoryèl 63 00:02:56,870 --> 00:02:59,910 kòm li nan n fwa yo faktoryèl nan n mwens 1. 64 00:02:59,910 --> 00:03:04,840 Li nan n fwa pwodwi a nan tout nimewo yo mwens pase m '. 65 00:03:04,840 --> 00:03:08,890 >> Lide sa a, sa a jeneralizasyon nan pwoblèm nan, 66 00:03:08,890 --> 00:03:13,410 pèmèt nou recursive defini fonksyon an faktoryèl. 67 00:03:13,410 --> 00:03:15,440 Lè ou defini yon fonksyon recursive, gen nan 68 00:03:15,440 --> 00:03:17,470 de bagay ki bezwen yo dwe yon pati nan li. 69 00:03:17,470 --> 00:03:20,990 Ou bezwen gen yon bagay yo rele yon ka baz, ki, lè ou deklanche li, 70 00:03:20,990 --> 00:03:22,480 yo ap sispann pwosesis la repetitif. 71 00:03:22,480 --> 00:03:25,300 >> Sinon, yon fonksyon ki rele itself-- jan ou ta ka imagine-- 72 00:03:25,300 --> 00:03:26,870 te kapab ale sou pou tout tan. 73 00:03:26,870 --> 00:03:29,047 Fonksyon rele fonksyon an rele apèl yo fonksyon 74 00:03:29,047 --> 00:03:30,380 fonksyon an rele fonksyon an. 75 00:03:30,380 --> 00:03:32,380 Si ou pa gen yon fason yo sispann li, pwogram ou an 76 00:03:32,380 --> 00:03:34,760 yo pral efektivman kole nan yon bouk enfini. 77 00:03:34,760 --> 00:03:37,176 Li pral aksidan evantyèlman, paske li pral kouri soti nan memwa. 78 00:03:37,176 --> 00:03:38,990 Men, sa a bò kote pwen an. 79 00:03:38,990 --> 00:03:42,210 >> Nou bezwen gen kèk lòt fason yo sispann bagay san konte ekraze pwogram nou an, 80 00:03:42,210 --> 00:03:46,010 paske yon pwogram ki aksidan se pwobableman pa bèl oswa elegant. 81 00:03:46,010 --> 00:03:47,690 Se konsa, nou rele ka sa a de baz la. 82 00:03:47,690 --> 00:03:50,610 Sa a se yon solisyon senp nan yon pwoblèm ki ap kanpe 83 00:03:50,610 --> 00:03:52,770 pwosesis la repetitif soti nan rive. 84 00:03:52,770 --> 00:03:55,220 Se konsa, sa a, se yon pati nan yon fonksyon repetitif. 85 00:03:55,220 --> 00:03:56,820 >> Pati nan dezyèm se ka a repetitif. 86 00:03:56,820 --> 00:03:59,195 Lè sa a se kote rkursyon nan pral aktyèlman pran plas li. 87 00:03:59,195 --> 00:04:02,200 Sa a se kote a fonksyon pral rele tèt li. 88 00:04:02,200 --> 00:04:05,940 >> Li pa pral rele tèt li nan egzakteman menm jan an li te rele. 89 00:04:05,940 --> 00:04:08,880 Li pral yon varyasyon ti tay ki fè pwoblèm nan li a 90 00:04:08,880 --> 00:04:11,497 eseye rezoud yon ti jan minuskul pi piti. 91 00:04:11,497 --> 00:04:14,330 Men, li jeneralman pase Buck a nan rezoud èstime nan solisyon an 92 00:04:14,330 --> 00:04:17,450 nan yon apèl diferan desann liy lan. 93 00:04:17,450 --> 00:04:20,290 >> Kilès nan sa yo sanble tankou ka a baz isit la? 94 00:04:20,290 --> 00:04:25,384 Ki youn nan sa yo renmen an sanble solisyon ki pi senp nan yon pwoblèm? 95 00:04:25,384 --> 00:04:27,550 Nou gen yon pakèt moun sou factorials, epi nou ta ka kontinye 96 00:04:27,550 --> 00:04:30,470 ale on-- 6, 7, 8, 9, 10, ak sou sa. 97 00:04:30,470 --> 00:04:34,130 >> Men, yonn nan sanble sa yo tankou yon bon ka yo dwe ka a baz. 98 00:04:34,130 --> 00:04:35,310 Li se yon solisyon trè senp. 99 00:04:35,310 --> 00:04:37,810 Nou pa bezwen fè anyen espesyal. 100 00:04:37,810 --> 00:04:40,560 >> Faktoryèl a nan 1 se jis 1. 101 00:04:40,560 --> 00:04:42,790 Nou pa gen fè nenpòt ki miltiplikasyon nan tout. 102 00:04:42,790 --> 00:04:45,248 Li sanble tankou si nou ap ale eseye ak rezoud pwoblèm sa a, 103 00:04:45,248 --> 00:04:47,600 epi nou bezwen sispann nan Rkursyon yon kote, 104 00:04:47,600 --> 00:04:50,610 nou pwobableman vle sispann li lè nou jwenn nan 1. 105 00:04:50,610 --> 00:04:54,580 Nou pa vle yo sispann anvan sa. 106 00:04:54,580 --> 00:04:56,660 >> Se konsa, si nou ap defini fonksyon faktoryèl nou an, 107 00:04:56,660 --> 00:04:58,690 isit la nan yon kilè eskèlèt pou ki jan nou ta ka fè sa. 108 00:04:58,690 --> 00:05:03,110 Nou bezwen ploge nan sa yo de bagay ka a baz epi ka-a repetitif. 109 00:05:03,110 --> 00:05:04,990 Ki sa ki nan ka a baz? 110 00:05:04,990 --> 00:05:10,150 Si n se egal a 1, retounen 1-- sa a, se yon pwoblèm vrèman senp yo rezoud. 111 00:05:10,150 --> 00:05:11,890 >> Faktoryèl a nan 1 se 1. 112 00:05:11,890 --> 00:05:13,860 Li pa 1 fwa anyen. 113 00:05:13,860 --> 00:05:15,020 Se jis 1. 114 00:05:15,020 --> 00:05:17,170 Li se yon reyalite trè fasil. 115 00:05:17,170 --> 00:05:19,620 Se konsa, ki ka ka baz nou an. 116 00:05:19,620 --> 00:05:24,730 Si nou jwenn te pase 1 nan sa a fonksyon, nou pral jis retounen 1. 117 00:05:24,730 --> 00:05:27,320 >> Ki sa ki nan repetitif nan ka pwobableman sanble? 118 00:05:27,320 --> 00:05:32,445 Pou chak nimewo lòt san konte 1, sa ki nan modèl la? 119 00:05:32,445 --> 00:05:35,780 Bon, si nou ap pran faktoryèl a nan n, 120 00:05:35,780 --> 00:05:38,160 li nan fwa n faktoryèl a nan n mwens 1. 121 00:05:38,160 --> 00:05:42,130 >> Si nou ap pran faktoryèl a nan 3, li a 3 fwa faktoryèl a nan 3 moins 1, 122 00:05:42,130 --> 00:05:43,070 oswa 2. 123 00:05:43,070 --> 00:05:47,330 Se konsa, si nou pa ap gade nan 1, otreman 124 00:05:47,330 --> 00:05:51,710 retounen n fwa yo faktoryèl nan n mwens 1. 125 00:05:51,710 --> 00:05:53,210 Li trè senp. 126 00:05:53,210 --> 00:05:57,360 >> Apre sa, pou dedomajman pou la li te gen yon ti kras pwòp ak plis elegant kòd, 127 00:05:57,360 --> 00:06:01,440 konnen ke si nou gen yon sèl liy-pasan oswa yon sèl liy-branch kondisyonèl, 128 00:06:01,440 --> 00:06:04,490 nou ka debarase m de tout de la aparèy òtopedik Curly bò kote yo. 129 00:06:04,490 --> 00:06:06,850 Se konsa, nou ka konsolide sa a sa a. 130 00:06:06,850 --> 00:06:09,640 Sa a gen ekzakteman menm bagay la fonctionnalités tankou sa a. 131 00:06:09,640 --> 00:06:13,850 >> Mwen jis pran lwen Curly a aparèy òtopedik, paske gen nan sèlman yon sèl liy 132 00:06:13,850 --> 00:06:18,500 andedan nan tout sa yo branch kondisyonèl. 133 00:06:18,500 --> 00:06:21,160 Se konsa, sa yo konpòte yo idantik. 134 00:06:21,160 --> 00:06:23,800 Si n se egal a 1, retounen 1. 135 00:06:23,800 --> 00:06:28,351 Sinon retounen fwa n faktoryèl a nan n mwens 1. 136 00:06:28,351 --> 00:06:29,850 Se konsa, nou ap fè pwoblèm nan pi piti. 137 00:06:29,850 --> 00:06:33,850 Si n kòmanse soti kòm 5, nou ap ale nan retounen 5 fwa faktoryèl a nan 4. 138 00:06:33,850 --> 00:06:37,100 Epitou, n ap wè nan yon minit lè nou pale sou stack-- la rele nan yon lòt videyo 139 00:06:37,100 --> 00:06:39,390 kote nou pale sou nan rele stack-- nou pral aprann 140 00:06:39,390 --> 00:06:41,630 sou rezon ki fè egzakteman pwosesis sa a travay. 141 00:06:41,630 --> 00:06:46,970 >> Men, pandan ke faktoryèl nan 5 di retounen 5 fwa faktoryèl nan 4, ak 4 142 00:06:46,970 --> 00:06:49,710 ki pral di, OK, byen, retounen 4 fwa faktoryèl a nan 3. 143 00:06:49,710 --> 00:06:51,737 Ak jan ou ka wè, nou ap sòt de apwoche 1. 144 00:06:51,737 --> 00:06:53,820 Nou ap vin pi pre ak pi pre ke ka baz. 145 00:06:53,820 --> 00:06:58,180 >> Ak yon lòt fwa nou frape ka a baz, tout nan fonksyon yo anvan yo 146 00:06:58,180 --> 00:07:00,540 gen repons lan yo te kap chèche. 147 00:07:00,540 --> 00:07:03,900 Faktoryèl nan 2 te di retounen 2 fwa faktoryèl a nan 1. 148 00:07:03,900 --> 00:07:06,760 Oke, faktoryèl nan 1 retounen 1. 149 00:07:06,760 --> 00:07:10,090 Se konsa, apèl la pou faktoryèl nan 2 ka retounen 2 fwa 1, 150 00:07:10,090 --> 00:07:13,980 epi bay ki tounen nan faktoryèl a 3, ki ap tann pou ke rezilta. 151 00:07:13,980 --> 00:07:17,110 >> Lè sa a, li ka kalkile rezilta li yo, 3 fwa 2 se 6, 152 00:07:17,110 --> 00:07:18,907 epi remèt li tounen nan faktoryèl a 4. 153 00:07:18,907 --> 00:07:20,740 Epi ankò, nou gen yon videyo sou chemine a apèl 154 00:07:20,740 --> 00:07:23,810 kote sa a se ilistre yon ti kras plis pase sa m ap di kounye a. 155 00:07:23,810 --> 00:07:25,300 Men, sa a se li. 156 00:07:25,300 --> 00:07:29,300 Sa a pou kont li se solisyon an nan kalkile faktoryèl la nan yon kantite. 157 00:07:29,300 --> 00:07:31,527 >> Li nan sèlman kat liy nan kòd. 158 00:07:31,527 --> 00:07:32,610 Sa a trè fre, dwa? 159 00:07:32,610 --> 00:07:35,480 Li nan kalite sexy. 160 00:07:35,480 --> 00:07:38,580 >> Se konsa, an jeneral, men se pa toujou, yon fonksyon repetitif 161 00:07:38,580 --> 00:07:41,190 ka ranplase yon riban nan yon ki pa Peye-repetitif fonksyon. 162 00:07:41,190 --> 00:07:46,100 Se konsa, isit la, kòt a kòt, se repete nan vèsyon nan fonksyon an faktoryèl. 163 00:07:46,100 --> 00:07:49,650 Tou de sa yo kalkile egzakteman menm bagay la. 164 00:07:49,650 --> 00:07:52,170 >> Yo tou de kalkile faktoryèl la nan n. 165 00:07:52,170 --> 00:07:54,990 Vèsyon an sou bò gòch la sèvi ak rkursyon fè li. 166 00:07:54,990 --> 00:07:58,320 Vèsyon an sou bò dwat la sèvi ak iterasyon fè li. 167 00:07:58,320 --> 00:08:02,050 >> Apre sa, avi, nou gen deklare yon varyab nonb antye relatif yon pwodwi. 168 00:08:02,050 --> 00:08:02,940 Lè sa a, nou riban. 169 00:08:02,940 --> 00:08:06,790 Se konsa, lontan ke n se pi gran pase 0, nou kenbe miltipliye ke pwodwi pa n 170 00:08:06,790 --> 00:08:09,890 ak decrementing jouk n nou kalkile pwodwi a. 171 00:08:09,890 --> 00:08:14,600 Se konsa, de fonksyon sa yo, ankò, fè egzakteman menm bagay la. 172 00:08:14,600 --> 00:08:19,980 Men, yo pa fè l 'nan egzakteman menm jan an. 173 00:08:19,980 --> 00:08:22,430 >> Koulye a, li se posib yo gen plis pase yon baz 174 00:08:22,430 --> 00:08:25,770 ka oswa plis pase yon repetitif ka, tou depann 175 00:08:25,770 --> 00:08:27,670 sou sa ki fonksyon ou ap eseye fè. 176 00:08:27,670 --> 00:08:31,650 Ou pa nesesèman jis limite a sa sèlman yon ka baz yon selibatè oubyen yon repetitif sèl 177 00:08:31,650 --> 00:08:32,370 ka. 178 00:08:32,370 --> 00:08:35,320 Se konsa, yon egzanp nan yon bagay ak ka baz miltip 179 00:08:35,320 --> 00:08:37,830 ta kapab nan sa a men Fibonacci sekans kantite. 180 00:08:37,830 --> 00:08:41,549 >> Ou ka sonje soti nan jou lekòl primè 181 00:08:41,549 --> 00:08:45,740 ki sekans ki Fibonacci defini tankou sa a men eleman nan premye se 0. 182 00:08:45,740 --> 00:08:46,890 Eleman nan dezyèm se 1. 183 00:08:46,890 --> 00:08:49,230 Tou de nan moun ki yo se jis pa definisyon. 184 00:08:49,230 --> 00:08:55,920 >> Lè sa a, se chak eleman lòt defini kòm sòm total la nan n mwens 1 ak n mwens 2. 185 00:08:55,920 --> 00:09:00,330 Se konsa, eleman nan twazyèm ta dwe 0 plis 1 se 1. 186 00:09:00,330 --> 00:09:03,280 Lè sa a, eleman nan katriyèm ta dwe eleman, dezyèm lan, 1, 187 00:09:03,280 --> 00:09:06,550 plis eleman nan twazyèm, 1. 188 00:09:06,550 --> 00:09:08,507 Apre sa, ki ta ka 2. 189 00:09:08,507 --> 00:09:09,340 Yo ak sou sa ak sou sa. 190 00:09:09,340 --> 00:09:11,680 >> Se konsa, nan ka sa a, nou gen de ka baz. 191 00:09:11,680 --> 00:09:14,850 Si n se egal a 1, retounen 0. 192 00:09:14,850 --> 00:09:18,560 Si n se egal a 2, retounen 1. 193 00:09:18,560 --> 00:09:25,930 Sinon, retounen Fibonacci nan n mwens 1 plis Fibonacci nan n mwens 2. 194 00:09:25,930 --> 00:09:27,180 >> Se konsa, sa a, se ka baz miltip. 195 00:09:27,180 --> 00:09:29,271 Ki sa ki sou plizyè ka repetitif? 196 00:09:29,271 --> 00:09:31,520 Oke, gen nan yon bagay rele konjekti a Collatz. 197 00:09:31,520 --> 00:09:34,630 Mwen pa pwal di, ou konnen ki sa se sa ki, 198 00:09:34,630 --> 00:09:38,170 paske li la aktyèlman final nou an pwoblèm pou videyo sa a an patikilye. 199 00:09:38,170 --> 00:09:43,220 Lè li nan fè egzèsis nou an nan travay sou yo ansanm. 200 00:09:43,220 --> 00:09:46,760 >> Se konsa, isit la nan sa a Collatz konjekti is-- 201 00:09:46,760 --> 00:09:48,820 li aplike a chak nonb antye relatif pozitif. 202 00:09:48,820 --> 00:09:51,500 Epi, se ipotèz ke li nan toujou posib jwenn tounen 203 00:09:51,500 --> 00:09:55,060 a 1 si ou swiv etap sa yo. 204 00:09:55,060 --> 00:09:57,560 Si n se 1, sispann. 205 00:09:57,560 --> 00:10:00,070 Nou te gen tounen nan 1 si n se 1. 206 00:10:00,070 --> 00:10:05,670 >> Sinon, ale nan sa a pwosesis ankò sou n divize pa 2. 207 00:10:05,670 --> 00:10:08,200 Apre sa, wè si ou kapab jwenn tounen nan 1. 208 00:10:08,200 --> 00:10:13,260 Sinon, si n se enpè, ale nan pwosesis sa a ankò sou 3n plis 1, 209 00:10:13,260 --> 00:10:15,552 oswa 3 fwa n plis 1. 210 00:10:15,552 --> 00:10:17,010 Se konsa, isit la nou gen yon ka baz sèl. 211 00:10:17,010 --> 00:10:18,430 Si n se egal a 1, sispann. 212 00:10:18,430 --> 00:10:20,230 Nou pa ap fè nenpòt rkursyon plis. 213 00:10:20,230 --> 00:10:23,730 >> Men, nou gen de ka repetitif. 214 00:10:23,730 --> 00:10:28,750 Si n se menm, nou fè yon sèl repetitif ka, lè w rele n divize pa 2. 215 00:10:28,750 --> 00:10:33,950 Si n se enpè, nou fè yon diferan repetitif ka sou 3 fwa n plis 1. 216 00:10:33,950 --> 00:10:39,120 >> Se konsa, objektif la pou videyo sa a se pran yon dezyèm fwa, pran yon poz videyo a, 217 00:10:39,120 --> 00:10:42,440 epi eseye epi ekri sa a fonksyon repetitif Collatz 218 00:10:42,440 --> 00:10:47,640 kote ou pase nan yon n valè, ak li kalkile ki jan anpil etap li 219 00:10:47,640 --> 00:10:52,430 pran pou li ale nan 1 si ou kòmanse soti nan n epi ou swiv moun etap moute pi wo a. 220 00:10:52,430 --> 00:10:56,660 Si n se 1, li pran 0 etap. 221 00:10:56,660 --> 00:11:00,190 Sinon, li k ap pase yo pran yon sèl etap plis sepandan 222 00:11:00,190 --> 00:11:06,200 anpil etap li pran sou chak n divize pa 2 si n se menm, oswa 3n plis 1 223 00:11:06,200 --> 00:11:08,100 si n se enpè. 224 00:11:08,100 --> 00:11:11,190 >> Koulye a, mwen te mete moute sou ekran an isit la yon koup de bagay sa yo tès pou ou, 225 00:11:11,190 --> 00:11:15,690 yon koup nan tès ka pou ou, yo wè sa divès kalite nimewo Collatz sa yo, se, 226 00:11:15,690 --> 00:11:17,440 epi tou li yon ilistrasyon nan etap sa yo ki 227 00:11:17,440 --> 00:11:20,390 bezwen yo dwe ale nan se konsa ou kapab sòt de wè pwosesis sa a nan aksyon. 228 00:11:20,390 --> 00:11:24,222 Se konsa, si n se egal a 1, Collatz nan n se 0. 229 00:11:24,222 --> 00:11:26,180 Ou pa dwe fè anyen yo jwenn tounen nan 1. 230 00:11:26,180 --> 00:11:27,600 Ou se deja la. 231 00:11:27,600 --> 00:11:30,550 >> Si n se 2, li pran yon sèl etap pou li ale nan 1. 232 00:11:30,550 --> 00:11:31,810 Ou kòmanse ak 2. 233 00:11:31,810 --> 00:11:33,100 Oke, 2 se pa egal a 1. 234 00:11:33,100 --> 00:11:36,580 Se konsa, li k ap pase yo dwe youn etap plis sepandan anpil etap li 235 00:11:36,580 --> 00:11:38,015 pran sou n divize pa 2. 236 00:11:38,015 --> 00:11:41,280 237 00:11:41,280 --> 00:11:42,910 >> 2 divize pa 2 se 1. 238 00:11:42,910 --> 00:11:47,200 Se konsa, li pran yon sèl etap plis sepandan anpil etap li pran pou 1. 239 00:11:47,200 --> 00:11:49,720 1 pran zewo etap. 240 00:11:49,720 --> 00:11:52,370 >> Pou 3, jan ou ka wè, gen nan byen yon kèk etap enplike nan sa. 241 00:11:52,370 --> 00:11:53,590 Ou ale soti nan 3. 242 00:11:53,590 --> 00:11:56,710 Lè sa a, ou ale nan 10, 5, 16, 8, 4, 2, 1. 243 00:11:56,710 --> 00:11:58,804 Li pran sèt etap sa yo jwenn tounen nan 1. 244 00:11:58,804 --> 00:12:01,220 Ak jan ou ka wè, gen nan yon koup ka tès lòt isit la 245 00:12:01,220 --> 00:12:02,470 li teste soti pwogram ou an. 246 00:12:02,470 --> 00:12:03,970 Se konsa, ankò, pran yon poz videyo a. 247 00:12:03,970 --> 00:12:09,210 Apre sa, mwen pral ale so tounen kounye a sa pwosesis aktyèl la se isit la, 248 00:12:09,210 --> 00:12:11,390 sa konjekti sa a se. 249 00:12:11,390 --> 00:12:14,140 >> Gade wè si ou kapab konnen ki Ki jan yo defini Collatz nan n 250 00:12:14,140 --> 00:12:19,967 konsa ke li kalkile ki jan anpil etap li pran pou li ale nan 1. 251 00:12:19,967 --> 00:12:23,050 Se konsa, èspere ke, ou te Sarepta videyo a epi w ap pa sèlman ap tann pou m ' 252 00:12:23,050 --> 00:12:25,820 l 'ban nou repons lan isit la. 253 00:12:25,820 --> 00:12:29,120 Men, si ou se, byen, isit la nan repons lan de tout fason. 254 00:12:29,120 --> 00:12:33,070 >> Se konsa, isit la nan yon definisyon posib nan fonksyon an Collatz. 255 00:12:33,070 --> 00:12:35,610 Baz nou case-- si n se egal a 1, nou retounen 0. 256 00:12:35,610 --> 00:12:38,250 Li pa pran okenn etap sa yo jwenn tounen nan 1. 257 00:12:38,250 --> 00:12:42,710 >> Sinon, nou gen de repetitif cases-- yonn pou nimewo menm ak yonn pou enpè. 258 00:12:42,710 --> 00:12:47,164 Wout la mwen teste pou chif menm se tcheke si n mod 2 egal 0. 259 00:12:47,164 --> 00:12:49,080 Sa a se fondamantalman, ankò, mande kesyon an, 260 00:12:49,080 --> 00:12:54,050 si ou sonje sa mod is-- si mwen divize n pa 2 pa gen rès? 261 00:12:54,050 --> 00:12:55,470 Ki ta ka yon nimewo menm. 262 00:12:55,470 --> 00:13:01,370 >> Se konsa, si n mod 2 egal 0 se tès sa a yon nimewo menm. 263 00:13:01,370 --> 00:13:04,250 Si se konsa, mwen vle retounen 1, paske sa a se definitivman 264 00:13:04,250 --> 00:13:09,270 pran yon sèl etap plis Collatz a tou sa nonb ki se mwatye nan m '. 265 00:13:09,270 --> 00:13:13,910 Sinon, mwen vle retounen 1 plis Collatz a 3 fwa n plis 1. 266 00:13:13,910 --> 00:13:16,060 Sa ki te lòt la repetitif etap ke nou 267 00:13:16,060 --> 00:13:19,470 te kapab pran yo kalkile an Collatz-- ki kantite etap 268 00:13:19,470 --> 00:13:22,610 li pran yo jwenn tounen nan 1 ba w yon kantite. 269 00:13:22,610 --> 00:13:24,610 Se konsa, èspere ke, egzanp sa a te ban nou yon ti jan 270 00:13:24,610 --> 00:13:26,620 a yon gou nan pwosedi repetitif. 271 00:13:26,620 --> 00:13:30,220 Èspere ke, ou panse se yon Kòd ti kras pi bèl si aplike 272 00:13:30,220 --> 00:13:32,760 nan yon elegant, fason repetitif. 273 00:13:32,760 --> 00:13:35,955 Men, menm si se pa, se yon rkursyon reyèlman pwisan zouti Alòske. 274 00:13:35,955 --> 00:13:38,330 Se konsa, li la definitivman yon bagay yo ka resevwa tèt ou alantou li, 275 00:13:38,330 --> 00:13:41,360 paske ou pral kapab kreye pwogram trè fre lè l sèvi avèk rkursyon 276 00:13:41,360 --> 00:13:45,930 ki ta ka otreman dwe konplèks yo ekri si w ap itilize pasan ak iterasyon. 277 00:13:45,930 --> 00:13:46,980 Mwen se Doug Lloyd. 278 00:13:46,980 --> 00:13:48,780 Sa a se CS50. 279 00:13:48,780 --> 00:13:50,228