1 00:00:00,000 --> 00:00:10,216 >> [MUSIC PLAYBACK] 2 00:00:10,216 --> 00:00:12,060 >> ZAMYLA CHAN: Teraz poďme riešiť Greedy. 3 00:00:12,060 --> 00:00:14,390 Povedzme, že ste pokladničné, a Potrebujete, aby vaše zákazníkovi 4 00:00:14,390 --> 00:00:16,309 určité množstvo zmien. 5 00:00:16,309 --> 00:00:18,820 No, ak ste boli chamtiví pokladničné, by ste chceli, aby všetky 6 00:00:18,820 --> 00:00:20,040 mince pre seba. 7 00:00:20,040 --> 00:00:24,310 Takže by ste dať zákazníkovi ich zmeny za použitia niekoľkých mincí, ako je to možné. 8 00:00:24,310 --> 00:00:27,640 >> Vašou úlohou v tomto p-set je realizovať Greedy, program, ktorý 9 00:00:27,640 --> 00:00:30,530 vypočíta minimálny počet mincí použitých k akejkoľvek 10 00:00:30,530 --> 00:00:31,940 vzhľadom na množstvo zmien. 11 00:00:31,940 --> 00:00:35,660 Než sa ponoríme do programovania koncepty a C syntaxe pre Greedy, 12 00:00:35,660 --> 00:00:38,410 Poďme hovoriť cez Greedy programu, a uvidíme, či nám 13 00:00:38,410 --> 00:00:40,570 môže identifikovať algoritmus. 14 00:00:40,570 --> 00:00:42,560 Pamätajte si, že algoritmus je len sada 15 00:00:42,560 --> 00:00:44,680 pokyny pre riešenie problémov. 16 00:00:44,680 --> 00:00:48,060 Algoritmus pre Greedy by byť len súbor logických pravidiel, a kroky, ktoré 17 00:00:48,060 --> 00:00:49,000 môžeme sledovať. 18 00:00:49,000 --> 00:00:52,510 A vždy získa minimálne počet mincí potrebných. 19 00:00:52,510 --> 00:00:54,340 >> Prvá vec, ktorú si musíte vedieť, ako veľa zmien 20 00:00:54,340 --> 00:00:55,710 je voči zákazníkovi. 21 00:00:55,710 --> 00:00:58,560 V tomto príklade, povedzme 0,32 dolár. 22 00:00:58,560 --> 00:01:00,880 Existuje mnoho spôsobov, ako sa dostať späť 0,32 doláre. 23 00:01:00,880 --> 00:01:03,950 Dalo by sa použiť, napríklad, 32 halierov. 24 00:01:03,950 --> 00:01:07,560 Alebo, ak ste boli trochu greedier v výber mincí, môžete použiť 25 00:01:07,560 --> 00:01:11,730 päť mincí namiesto 32 tým, že zákazníkov tri desaťhalierniky - 26 00:01:11,730 --> 00:01:14,690 0,10 dolár každý - a dva haliere - 0,01 dolár každý. 27 00:01:14,690 --> 00:01:16,830 >> Ale môžeme robiť lepšie než päť mincí? 28 00:01:16,830 --> 00:01:18,990 Môžeme byť aj greedier? 29 00:01:18,990 --> 00:01:20,410 Dosť možno. 30 00:01:20,410 --> 00:01:23,360 >> Poďme pokračovať v prechádzke Greedy programu, a uvidíte. 31 00:01:23,360 --> 00:01:27,090 Ak je váš konečný cieľ je použiť niekoľko mincí ako je to možné, potom by bolo najviac 32 00:01:27,090 --> 00:01:29,680 rozumné použiť najväčšie Možné mince. 33 00:01:29,680 --> 00:01:32,410 Radšej dať štvrtiny back - 0,25 dolár každý - 34 00:01:32,410 --> 00:01:33,640 ako päť Nickels - 35 00:01:33,640 --> 00:01:34,940 0,05 dolár každý. 36 00:01:34,940 --> 00:01:38,260 Tak snáď naše riadiace pravidlo pre Greedy môže byť vždy 37 00:01:38,260 --> 00:01:40,590 najväčší mince je to možné. 38 00:01:40,590 --> 00:01:43,640 Z štvrťroku, desetníky, Nickels, a haliere, naše 39 00:01:43,640 --> 00:01:44,830 najväčší mince je štvrťrok. 40 00:01:44,830 --> 00:01:47,690 Takže sa budeme snažiť, aby im najprv použiť. 41 00:01:47,690 --> 00:01:49,270 >> Späť k nášmu 0,32 doláre. 42 00:01:49,270 --> 00:01:52,455 Môžeme použiť štvrtinu, aby zákazník 0,32 dolár? 43 00:01:52,455 --> 00:01:52,930 Áno. 44 00:01:52,930 --> 00:01:55,530 To by nás nechať s 0,07 dolárov odišiel. 45 00:01:55,530 --> 00:01:57,440 >> Môžeme použiť iný štvrtinu? 46 00:01:57,440 --> 00:02:00,100 Nie, pretože 25 je väčší ako sedem. 47 00:02:00,100 --> 00:02:03,470 Nechceme, aby zákazníkovi nič viac, než sme im dlhujeme. 48 00:02:03,470 --> 00:02:04,190 >> Dobrá. 49 00:02:04,190 --> 00:02:07,370 Teraz, keď sme vyčerpali naše ubikácie, poďme sa presunúť na ďalšie najväčšie 50 00:02:07,370 --> 00:02:09,090 mince, desetník. 51 00:02:09,090 --> 00:02:12,400 Môžeme použiť desetník, aby zákazník ich 0,07 dolár späť? 52 00:02:12,400 --> 00:02:15,100 Nie, pretože 10 je väčší ako sedem. 53 00:02:15,100 --> 00:02:18,400 >> Takže budúci najväčší mince prístupné pre nás je nikel. 54 00:02:18,400 --> 00:02:19,590 Môžeme použiť nikel? 55 00:02:19,590 --> 00:02:20,250 Áno. 56 00:02:20,250 --> 00:02:22,940 A potom by sme museli 0,02 dolárov zostane. 57 00:02:22,940 --> 00:02:24,910 >> Nemôžeme použiť nikel na return $ 0,02. 58 00:02:24,910 --> 00:02:29,510 Tak sme sa presťahovali poslednú mincu na ktoré máme k dispozícii - penny. 59 00:02:29,510 --> 00:02:33,090 A potom, čo pomocou dvoch haliere, boli by sme odišiel s nulovými centov, čo znamená, že 60 00:02:33,090 --> 00:02:36,350 sme úspešne splatená užívateľ ich zmeny dlžný 61 00:02:36,350 --> 00:02:37,830 s použitím iba štyri mince - 62 00:02:37,830 --> 00:02:40,410 jedna štvrtina, jedna nikel, a dva haliere. 63 00:02:40,410 --> 00:02:43,880 >> Môžete spustiť riešenie zamestnanca, či naše riadiace pravidlo a proces dal 64 00:02:43,880 --> 00:02:44,770 nám správnu odpoveď. 65 00:02:44,770 --> 00:02:47,820 Pre väčšinu problémových sád, budete môcť spustiť riešenie zamestnanca, ako 66 00:02:47,820 --> 00:02:49,900 svoj vlastný program by mal fungovať. 67 00:02:49,900 --> 00:02:53,390 A zvláštne pokyny budú byť problém zavádza špecifikácie. 68 00:02:53,390 --> 00:02:57,180 >> Potom, čo sme sa spustiť riešenie zamestnancov, je vyzve nás, koľko zmena dlhuje 69 00:02:57,180 --> 00:02:59,790 na vedomie, že sa spýta na Čiastka v dolároch. 70 00:02:59,790 --> 00:03:03,580 Sme vstup 0,32 dolár, 0.32. 71 00:03:03,580 --> 00:03:06,830 To nám hovorí, že štyri mince dlhuje, v súlade s našou odpoveďou. 72 00:03:06,830 --> 00:03:08,160 Fantastic. 73 00:03:08,160 --> 00:03:10,210 >> Takže teraz poďme začať hľadať pri vykonávaní 74 00:03:10,210 --> 00:03:11,780 z Greedy algoritmus. 75 00:03:11,780 --> 00:03:13,410 Vieme, že pár vecí. 76 00:03:13,410 --> 00:03:17,280 Jeden, že budeme musieť vyzvať užívateľ vo výške zmeny. 77 00:03:17,280 --> 00:03:20,830 >> Dva, že budeme chcieť, aby sa riadili upravujúce pravidlá pre vždy 78 00:03:20,830 --> 00:03:22,990 najväčší mince je to možné. 79 00:03:22,990 --> 00:03:26,370 A za tretie, že musíme sledovať na to, koľko mincí sa použiť. 80 00:03:26,370 --> 00:03:30,040 Pretože nakoniec, musíme vytlačiť počet mincí, ktoré nám. 81 00:03:30,040 --> 00:03:33,270 >> Po prvé, pobádať užívateľa vo výške zmeny. 82 00:03:33,270 --> 00:03:36,880 Kedykoľvek budete riešiť vstup užívateľa, aby Uistite sa, že si myslíte, že všetky 83 00:03:36,880 --> 00:03:40,010 požiadavky na vstup a iba prijímať vstup, ktorý spĺňa tie 84 00:03:40,010 --> 00:03:40,880 požiadavky. 85 00:03:40,880 --> 00:03:44,100 V tomto prípade, chceme zaoberať peňažnú hodnotu v dolároch. 86 00:03:44,100 --> 00:03:48,230 >> Funkcie GetFloat a vezmi_int zabezpečiť že vstup je číselná. 87 00:03:48,230 --> 00:03:51,700 Avšak užívateľ môže zadať záporné číselné hodnoty. 88 00:03:51,700 --> 00:03:56,260 Takže nezabudnite používať iba nezáporné vstupy, ktoré zahŕňa všetky negatívne 89 00:03:56,260 --> 00:03:58,370 čísla a nula. 90 00:03:58,370 --> 00:04:00,260 >> V tomto prípade, je vstupné by mala byť float. 91 00:04:00,260 --> 00:04:01,960 Inými slovami, desatinné číslo. 92 00:04:01,960 --> 00:04:06,000 Pretože problém sada spec vyžaduje môžete požiadať o vstup v dolároch. 93 00:04:06,000 --> 00:04:09,540 >> Ale v C, možno hodnoty desatinných nie byť zastúpené presne. 94 00:04:09,540 --> 00:04:12,490 Pretože existuje konečný počet bitov, s ktorým 95 00:04:12,490 --> 00:04:14,870 predstavujú nekonečné hodnoty. 96 00:04:14,870 --> 00:04:16,860 Vezmite číslo 0,1. 97 00:04:16,860 --> 00:04:21,140 Keby som sa vás spýtal, písať o 0,1 ruka sté desatinné miesto, 98 00:04:21,140 --> 00:04:24,380 by ste napísať 1, nasledoval od 99 nulami. 99 00:04:24,380 --> 00:04:27,080 Mali by sme očakávať, že náš počítač by vytlačiť presne to isté 100 00:04:27,080 --> 00:04:28,330 ak sme požiadali ho. 101 00:04:28,330 --> 00:04:30,320 >> Takže poďme sa pozrieť, čo to robí. 102 00:04:30,320 --> 00:04:33,150 Budem preskúmanie tlač hodnôt na Koniec to prejsť. 103 00:04:33,150 --> 00:04:39,270 Pre túto chvíľu, vidieť, že f% je zástupný symbol pre plávajúcou desatinnou čiarkou. 104 00:04:39,270 --> 00:04:44,530 Ale určiť vopred, že chceme Zobrazené 100 desatinné miesta, a potom nový 105 00:04:44,530 --> 00:04:46,506 linka pre krajší formátovania. 106 00:04:46,506 --> 00:04:51,710 >> Po reťazca, volíme 0,1 as vznášať sa, že chceme vytlačiť. 107 00:04:51,710 --> 00:04:56,680 A výsledok, jeden, nasledoval niektorými nulami, ale potom 108 00:04:56,680 --> 00:04:57,980 Celá banda čísel. 109 00:04:57,980 --> 00:05:00,470 Určite nie, ako sa očakávalo. 110 00:05:00,470 --> 00:05:03,490 >> Plávajúce bod nepresnosť môže zaviesť chyby zaokrúhlenia do svojej 111 00:05:03,490 --> 00:05:07,330 výpočty, ktoré budete určite chcieť, aby sa zabránilo. 112 00:05:07,330 --> 00:05:10,900 Ak chcete vidieť viac príkladov, vám si môžete stiahnuť imprecision.ce od 113 00:05:10,900 --> 00:05:14,880 prejsť kód, ktorý je jednoduchý program, ktorý sa spýta plávať a vytlačí ho 114 00:05:14,880 --> 00:05:17,550 späť na sté desatinné miesto. 115 00:05:17,550 --> 00:05:20,340 Samozrejme, ak chcete zobraziť viac či menej desatinných miest 116 00:05:20,340 --> 00:05:22,410 si sami môžete meniť. 117 00:05:22,410 --> 00:05:25,740 >> Ako uvidíte, aj keď rozdiel medzi nimi je malá, keď sa dostanete 118 00:05:25,740 --> 00:05:30,460 násobenie a pridanie plaváky, ktoré Nesúlad môže nakoniec pridať až. 119 00:05:30,460 --> 00:05:31,790 Zálohovanie na Greedy. 120 00:05:31,790 --> 00:05:34,870 Budeme chcieť, aby sa zabránilo chybám zaokrúhľovania o nakladaní s celými číslami. 121 00:05:34,870 --> 00:05:38,090 Takže potom, čo sme si platný vstup z užívateľ, poďme zmeniť toto 122 00:05:38,090 --> 00:05:39,550 dolár hodnotu centov. 123 00:05:39,550 --> 00:05:43,420 >> Mentálne, robíme to vynásobením hodnota dolára o 100. 124 00:05:43,420 --> 00:05:46,400 Ale pamätajte si, pretože s plávajúcou desatinnou čiarkou nepresnosť, chceme, aby 125 00:05:46,400 --> 00:05:48,580 Uistite sa, že budeme používať správnu hodnotu. 126 00:05:48,580 --> 00:05:52,510 Vynásobením 100 sa v podstate pohybovať desatinné miesto dve medzery na 127 00:05:52,510 --> 00:05:56,640 právo, sekanie preč, alebo skrátenie niečo neskôr. 128 00:05:56,640 --> 00:05:59,430 >> Ak budete hrať si s niektorými viac príklady, uvidíte, že nebudete 129 00:05:59,430 --> 00:06:02,980 ak ste vždy správne číslo použiť tento spôsob skrátenia. 130 00:06:02,980 --> 00:06:10,011 Napríklad, 12,59 vytlačená na 100 desatinných miest, ktoré vám umožnia 131 00:06:10,011 --> 00:06:14,050 12,5899, et cetera. 132 00:06:14,050 --> 00:06:18,460 Vy by ste sa 12,58, ak skrátený, nie 12.59, ako budete potrebovať. 133 00:06:18,460 --> 00:06:21,130 >> Namiesto toho, to je najlepšie na bicykli číslo prvý. 134 00:06:21,130 --> 00:06:23,930 Našťastie, C je dodávaný s funkcia tzv Round. 135 00:06:23,930 --> 00:06:25,040 Je to v matematickej knižnici. 136 00:06:25,040 --> 00:06:28,540 >> Ak chcete vedieť, ako používať bicykel, potom si môžete priniesť až naávod alebo 137 00:06:28,540 --> 00:06:30,550 man stránka pre túto funkciu. 138 00:06:30,550 --> 00:06:35,510 Môžete to urobiť tým, písanie človeka, krátky pre manuál, a potom funkciu, ktorú 139 00:06:35,510 --> 00:06:36,620 chcete vyhľadať. 140 00:06:36,620 --> 00:06:42,280 Takže písanie muž koleso do terminálu Príkazový riadok bude vychovávať manuál. 141 00:06:42,280 --> 00:06:44,790 >> To by mohlo byť trochu ťažké rozlúštiť, ale nakoniec budete 142 00:06:44,790 --> 00:06:45,660 dostať na kĺb. 143 00:06:45,660 --> 00:06:48,290 Manuálové stránky ukázať, čo funkciu áno, a ešte niečo navyše 144 00:06:48,290 --> 00:06:50,170 Možné využitie toho. 145 00:06:50,170 --> 00:06:52,340 Nechám vás, aby preskúmala muž stránka pre bicykle. 146 00:06:52,340 --> 00:06:55,960 Ale viete, že môžete použiť na zaokrúhlenie hodnota pri svojom obrátení od 147 00:06:55,960 --> 00:06:57,180 dolárov centov. 148 00:06:57,180 --> 00:06:59,690 >> Kolo vám späť číslo dátového typu double. 149 00:06:59,690 --> 00:07:03,810 A môžete previesť alebo obsadenia to int potom. 150 00:07:03,810 --> 00:07:04,980 Skvelé. 151 00:07:04,980 --> 00:07:08,120 Do teraz sme vyzvaní užívateľa pre peňažná suma, a 152 00:07:08,120 --> 00:07:09,520 prevedie do centov. 153 00:07:09,520 --> 00:07:12,410 Teraz môžeme implementovať algoritmus že vždy používa 154 00:07:12,410 --> 00:07:14,640 Najväčší mince k dispozícii. 155 00:07:14,640 --> 00:07:17,790 >> Majte na pamäti, že existuje viac spôsoby, ako implementovať Greedy, rovnako ako 156 00:07:17,790 --> 00:07:21,200 existuje niekoľko spôsobov, ako pristupovať každý problém počítačová veda. 157 00:07:21,200 --> 00:07:24,040 Nájdenie najelegantnejší spôsob, To je tá zábavná časť. 158 00:07:24,040 --> 00:07:27,030 V priebehu týchto p-sád, ak váš program presne nezodpovedá my 159 00:07:27,030 --> 00:07:29,190 vysvetlenie v návodoch, to je v poriadku. 160 00:07:29,190 --> 00:07:32,870 Ale len uistiť, že to prejde skontrolovať 50, spĺňa všetky 161 00:07:32,870 --> 00:07:36,270 požiadavky sú špecifikácie, a že zváži, či vaše 162 00:07:36,270 --> 00:07:37,670 prístup má dobrý dizajn. 163 00:07:37,670 --> 00:07:39,750 >> Inými slovami, ako efektívne je to? 164 00:07:39,750 --> 00:07:44,400 Napríklad, ste typ opakujúce sa riadky kódu, namiesto použitia slučky? 165 00:07:44,400 --> 00:07:47,580 Písania kódu s lepším dizajnom bude príde skúsenosti, ako budete postupovať 166 00:07:47,580 --> 00:07:49,192 prostredníctvom kurzu. 167 00:07:49,192 --> 00:07:52,350 >> Za týmto prejsť, pôjdem cez Dve metódy, ktoré môžu byť použité pre 168 00:07:52,350 --> 00:07:53,540 kompletné Greedy. 169 00:07:53,540 --> 00:07:57,160 Prvá metóda je metóda využívajúca slučky a odčítanie. 170 00:07:57,160 --> 00:08:00,050 Predtým, keď sme spolu hovorili cez Greedy proces, neustále 171 00:08:00,050 --> 00:08:03,220 Kontroluje sa, či by sme mohli použiť štvrtinu, a používa štvrtina až 172 00:08:03,220 --> 00:08:05,670 zostávajúca hodnota bola menšia ako 0,25 $. 173 00:08:05,670 --> 00:08:07,990 >> To sa premieta aj do zatiaľ čo štruktúra slučky. 174 00:08:07,990 --> 00:08:11,550 Aj keď stále ešte môžeme použiť štvrť, použite jednu. 175 00:08:11,550 --> 00:08:15,900 Že kým slučka by mala vykonávať tak dlho, ako zostávajúca hodnota je vyššia ako 176 00:08:15,900 --> 00:08:18,240 alebo rovná cent hodnoty štvrtina je. 177 00:08:18,240 --> 00:08:20,970 To znamená, že budete tiež chcieť, aby sledovať zostávajúce hotovosť 178 00:08:20,970 --> 00:08:24,570 hodnotu, a aktualizovať každý čas, ktorý môžete použiť mincu. 179 00:08:24,570 --> 00:08:28,350 >> Tiež si pamätám, že na konci svojho Výstupom je počet použitých mincí. 180 00:08:28,350 --> 00:08:32,400 Takže ďalšia vec, sledovať je počet mincí, ktoré používate. 181 00:08:32,400 --> 00:08:35,450 Môžete sledovať z nich pomocou dobre-menovaný premenné. 182 00:08:35,450 --> 00:08:39,730 A v tele vašej slučky by bude aktualizácia týchto premenných. 183 00:08:39,730 --> 00:08:43,400 Akonáhle sa slučka pre štvrťrok skončí, vás Môžete použiť nejaký podobný pre desaťhalierniky, 184 00:08:43,400 --> 00:08:47,180 a tak ďalej a tak ďalej, kým ste vrátila všetky peniaze. 185 00:08:47,180 --> 00:08:50,640 >> Napísal som nejaký pseudo-kód tu vám pomôže predstaviť, ako 186 00:08:50,640 --> 00:08:55,080 Proces sme diskutovali môže prekladať C. Ako vidíte tu, som stále používate 187 00:08:55,080 --> 00:08:55,760 Anglické slová. 188 00:08:55,760 --> 00:08:56,830 Nie je C doteraz. 189 00:08:56,830 --> 00:08:58,590 Ale ja som začal odsadenie veci. 190 00:08:58,590 --> 00:09:00,690 Ja som dal podmienky vo vnútri moje zátvorky. 191 00:09:00,690 --> 00:09:03,710 Už to začína vyzerať trochu Trochu ako programový kód. 192 00:09:03,710 --> 00:09:06,410 >> Pseudo-kód je skvelý spôsob, aby si sami začali. 193 00:09:06,410 --> 00:09:08,810 Vizualizácia kódu pred sa pozriete do syntaxe. 194 00:09:08,810 --> 00:09:12,570 Pretože často najťažšie časť o Problém je skutočne porozumieť tomu, čo 195 00:09:12,570 --> 00:09:14,450 presne, čo musíte urobiť. 196 00:09:14,450 --> 00:09:17,490 Akonáhle si to zapísať, potom je to oveľa ľahšie vyhľadať funkcií 197 00:09:17,490 --> 00:09:20,390 a syntax sú špecifické pre vašu rad pseudo-kódu 198 00:09:20,390 --> 00:09:23,760 >> Majte na pamäti, že to nemusí byť totožný s druhom kostry 199 00:09:23,760 --> 00:09:25,560 Váš kód, ktorý napíšete. 200 00:09:25,560 --> 00:09:27,640 Tam sú vždy optimalizácia ktoré majú byť vykonané. 201 00:09:27,640 --> 00:09:31,250 A to najmä v mojom pseudo-kódu tu, uvidíme, či si môžete na mieste ju. 202 00:09:31,250 --> 00:09:33,380 >> Ale v podstate proces a spôsob myslenia 203 00:09:33,380 --> 00:09:35,250 je, rovnako ako sme sa bavili. 204 00:09:35,250 --> 00:09:38,350 Prvý riadok nám hovorí, aby sme získali určitá čiastka v dolároch. 205 00:09:38,350 --> 00:09:40,960 A druhá hovorí, aby previesť na centy. 206 00:09:40,960 --> 00:09:45,640 >> A potom, zatiaľ čo štvrtiny môžu byť použité, sa Chcete zvýšiť počet mincí a 207 00:09:45,640 --> 00:09:47,200 znížiť sumu hotovosti. 208 00:09:47,200 --> 00:09:49,880 To isté platí aj pre desaťhalierniky, Nickels, a haliere. 209 00:09:49,880 --> 00:09:53,230 A konečne, povieme užívateľovi koľko mincí sa použiť. 210 00:09:53,230 --> 00:09:53,750 >> Skvelé. 211 00:09:53,750 --> 00:09:55,680 Tak, že dospel k záveru metódu slučky. 212 00:09:55,680 --> 00:09:59,720 Teraz poďme hovoriť o stavebnicové metódy, čo je viac ako divízia. 213 00:09:59,720 --> 00:10:03,630 >> My všetci sme oboznámení s plus, mínus, násobenie a delenie operátormi 214 00:10:03,630 --> 00:10:05,030 ktoré máme k dispozícii. 215 00:10:05,030 --> 00:10:09,060 C má všetky štyri tie, ale aj operátor modulo, zastúpená 216 00:10:09,060 --> 00:10:10,640 znak percenta. 217 00:10:10,640 --> 00:10:11,940 Modulo je naozaj čistý. 218 00:10:11,940 --> 00:10:14,880 To vám dáva zvyšok z delenie dvoch čísel. 219 00:10:14,880 --> 00:10:19,910 >> Spomeňte si na dlhú divízie správu pri rozdeliť, povedzme, 74 o tri? 220 00:10:19,910 --> 00:10:23,510 Počnúc mieste desiatok, mali by ste viem, že 3 ide do siedmich 221 00:10:23,510 --> 00:10:27,620 dvakrát, aby sa šesť s Zostávajúce jedna. 222 00:10:27,620 --> 00:10:31,870 By ste napísať dva hore, a potom odpočítať 6 zo siedmich, nosenie cez 223 00:10:31,870 --> 00:10:34,980 Zvyšok dňa 14. pre proces opakovať. 224 00:10:34,980 --> 00:10:39,410 >> Tri ide do 14 štyrikrát do aby 12 sa zostávajúce dva. 225 00:10:39,410 --> 00:10:40,930 A dva nenesie nad už. 226 00:10:40,930 --> 00:10:44,170 Takže dva by byť ponechané na dno ako zvyšok. 227 00:10:44,170 --> 00:10:46,800 >> A to je to, čo modulo dáva, si toto číslo v dolnej časti. 228 00:10:46,800 --> 00:10:49,790 Takže 74 modulo tri by vám dve. 229 00:10:49,790 --> 00:10:52,980 A 10 modulo dva, dobre, že by vám nulu. 230 00:10:52,980 --> 00:10:56,500 Vzhľadom k tomu, že nie je žiadny zvyšok keď delíte 10 dva. 231 00:10:56,500 --> 00:11:00,190 >> Šesť modulo päť, a päť ide do šiestich raz. 232 00:11:00,190 --> 00:11:01,830 A potom to jeden zostane. 233 00:11:01,830 --> 00:11:04,720 Takže šesť modulo päť je jeden. 234 00:11:04,720 --> 00:11:07,950 >> Potom, ak máte sedem modulo deväť, mali by ste mať sedem. 235 00:11:07,950 --> 00:11:09,840 Vzhľadom k tomu, deväť je väčšia ako sedem. 236 00:11:09,840 --> 00:11:15,020 Takže to nie je rozdeliť to všetko do siedmich, takže sedem ako odpoveď. 237 00:11:15,020 --> 00:11:18,340 >> Ak si myslíte, že o modulo trochu viac, nezabudnite, že vám dáva 238 00:11:18,340 --> 00:11:21,020 zvyšok po delení niečo. 239 00:11:21,020 --> 00:11:23,620 Premýšľajte o tom, ako by mohli byť ho používať v Greedy. 240 00:11:23,620 --> 00:11:27,620 Povedzme, že užívateľ požiada o 400,11 dolárov. 241 00:11:27,620 --> 00:11:30,470 Čo je to spôsob, ako zistiť, koľko štvrťroku, ktoré potrebujete, bez toho aby ste museli 242 00:11:30,470 --> 00:11:32,360 počítať každý z nich? 243 00:11:32,360 --> 00:11:37,480 >> Potom, čo ste zistili, koľko štvrtiny môžete použiť, aby 400,11 dolárov, koľko 244 00:11:37,480 --> 00:11:38,880 zmeniť ostatky? 245 00:11:38,880 --> 00:11:42,110 Možná kombinácia tu medzi modulo a rozdelenie by sa v 246 00:11:42,110 --> 00:11:46,200 užitočné, aby vám v pohode, elegantný prístup k Greedy problému. 247 00:11:46,200 --> 00:11:49,030 Ale pamätajte, že riadiaci pravidlo stále platí. 248 00:11:49,030 --> 00:11:51,610 Vždy používajte najväčšiu mincu je to možné. 249 00:11:51,610 --> 00:11:55,340 >> Potom, čo ste urobil pre výpočet, ako najviac mincí použiť, posledný krok 250 00:11:55,340 --> 00:11:57,930 je vytlačiť počtu mince, ktoré ste vypočítané. 251 00:11:57,930 --> 00:12:01,610 Zatiaľ sme sa pomocou printf fungovať iba pre reťazca. 252 00:12:01,610 --> 00:12:05,200 Ale keď chcete vytlačiť in, alebo proste akýkoľvek typ dát, ktorý je uložený 253 00:12:05,200 --> 00:12:09,200 do premennej, musíte uviesť že pomocou zástupného symbolu. 254 00:12:09,200 --> 00:12:12,400 >> Tu som zahrnuté iba niektoré tipy o tom, ako vytlačiť hodnoty. 255 00:12:12,400 --> 00:12:16,390 Ak máte celé číslo, by ste napíšte reťazec pomocou% d ako 256 00:12:16,390 --> 00:12:17,450 zástupný symbol. 257 00:12:17,450 --> 00:12:20,170 Po záverečnej kotácie značka, zadajte čiarku. 258 00:12:20,170 --> 00:12:24,530 A potom sa dal do celé číslo, ktoré bude sa namiesto% d pri tlači von. 259 00:12:24,530 --> 00:12:27,150 >> Takže po zobrazení čísla použitých mince, ty si 260 00:12:27,150 --> 00:12:28,500 skončil s Greedy. 261 00:12:28,500 --> 00:12:32,000 Uistite sa, že kontrolu všetkých rohových prípady, upratať váš štýl trochu, a vy ste 262 00:12:32,000 --> 00:12:33,350 všetko nastavené, aby predložila. 263 00:12:33,350 --> 00:12:36,000 Na konci tohto problému nastavenie, budete si musieť vybrať byť oboznámení s CS50 264 00:12:36,000 --> 00:12:39,940 zariadenie, terminál, a slučka štruktúry a premenné v C 265 00:12:39,940 --> 00:12:41,470 >> Ste na dobrej ceste. 266 00:12:41,470 --> 00:12:43,040 Krivka učenia môže zdať ťažké. 267 00:12:43,040 --> 00:12:44,690 Takže to brať krok za krokom. 268 00:12:44,690 --> 00:12:47,110 Uistite sa, že píšete z pseudo-kódu Pred potápanie príliš hlboko 269 00:12:47,110 --> 00:12:49,000 do neznámej syntaxe. 270 00:12:49,000 --> 00:12:52,030 >> Urobiť zoznam úloh, a rozbiť priradenie do menšej, 271 00:12:52,030 --> 00:12:53,440 zvládnuteľné úlohy. 272 00:12:53,440 --> 00:12:55,810 Preskúmajte všetky CS50 zdrojov. 273 00:12:55,810 --> 00:12:58,270 Okrem prednášky, rewatch to prejsť. 274 00:12:58,270 --> 00:12:59,790 >> Venujte pozornosť kapitole. 275 00:12:59,790 --> 00:13:00,710 Pozrite sa na šortky. 276 00:13:00,710 --> 00:13:04,640 Prečítajte si otázky svojimi spolužiakmi " na Diskutujte a zverejňovať vlastné. 277 00:13:04,640 --> 00:13:06,110 >> Veľa šťastia s p-set. 278 00:13:06,110 --> 00:13:07,200 A vďaka za sledovanie. 279 00:13:07,200 --> 00:13:08,690 To bolo Greedy. 280 00:13:08,690 --> 00:13:15,691 >> [MUSIC PLAYBACK]