1 00:00:00,000 --> 00:00:10,216 >> [REPRODUCCIÓ DE MÚSICA] 2 00:00:10,216 --> 00:00:12,060 >> ZAMYLA CHAN: Ara abordarem cobdiciós. 3 00:00:12,060 --> 00:00:14,390 Diguem que vostè és un caixer, i vostè necessitar donar al seu client un 4 00:00:14,390 --> 00:00:16,309 certa quantitat de canvis. 5 00:00:16,309 --> 00:00:18,820 Bé, si vostè fos un caixer cobdiciós, t'agradaria mantenir tots 6 00:00:18,820 --> 00:00:20,040 les monedes a tu mateix. 7 00:00:20,040 --> 00:00:24,310 Així que li donaria al client el seu canvi utilitzant el mínim de monedes com sigui possible. 8 00:00:24,310 --> 00:00:27,640 >> La seva tasca en aquest joc de p-és implementar Greedy, un programa que 9 00:00:27,640 --> 00:00:30,530 calcula el nombre mínim de les monedes que s'utilitzen per realitzar qualsevol 10 00:00:30,530 --> 00:00:31,940 determinada quantitat de canvi. 11 00:00:31,940 --> 00:00:35,660 Abans de capbussar-se en la programació conceptes i la sintaxi de C per Greedy, 12 00:00:35,660 --> 00:00:38,410 Primer parlem a través de la Greedy programa, i veure si podem 13 00:00:38,410 --> 00:00:40,570 pot identificar un algorisme. 14 00:00:40,570 --> 00:00:42,560 Recordeu que un algorisme és només un conjunt de 15 00:00:42,560 --> 00:00:44,680 instruccions per a la solució de problemes. 16 00:00:44,680 --> 00:00:48,060 Un algorisme per Greedy no seria més que una un conjunt de regles i passos lògics que 17 00:00:48,060 --> 00:00:49,000 podem seguir. 18 00:00:49,000 --> 00:00:52,510 I ells sempre van a donar el mínim nombre de monedes necessàries. 19 00:00:52,510 --> 00:00:54,340 >> El primer que havia necessitat de saber és quant canvi 20 00:00:54,340 --> 00:00:55,710 es deu al client. 21 00:00:55,710 --> 00:00:58,560 Per a aquest exemple, diguem que 0,32 $. 22 00:00:58,560 --> 00:01:00,880 Hi ha moltes maneres d'obtenir una còpia de $ 0,32. 23 00:01:00,880 --> 00:01:03,950 Vostè podria utilitzar, per exemple, 32 centaus. 24 00:01:03,950 --> 00:01:07,560 O si, estaves una mica cobdiciós en l'elecció de les seves monedes, es pot utilitzar 25 00:01:07,560 --> 00:01:11,730 05:00 monedes en lloc de 32 per donant client 3 monedes de deu centaus - 26 00:01:11,730 --> 00:01:14,690 Cadascun $ 0,10 - i dues monedes d'un cèntim - 0,01 $ cada un. 27 00:01:14,690 --> 00:01:16,830 >> Però, podem fer alguna cosa millor que 5 monedes? 28 00:01:16,830 --> 00:01:18,990 Podem ser encara més cobdiciosos? 29 00:01:18,990 --> 00:01:20,410 És molt possible. 30 00:01:20,410 --> 00:01:23,360 >> Seguim caminant per el programa cobdiciós, i veure. 31 00:01:23,360 --> 00:01:27,090 Si el seu objectiu final és utilitzar unes monedes com sigui possible, llavors seria més 32 00:01:27,090 --> 00:01:29,680 prudent utilitzar la més gran possibles monedes. 33 00:01:29,680 --> 00:01:32,410 Prefereix donar una quarta còpia - $ 0,25 cada un - 34 00:01:32,410 --> 00:01:33,640 de cinc centaus - 35 00:01:33,640 --> 00:01:34,940 0,05 $ cada un. 36 00:01:34,940 --> 00:01:38,260 Així que potser la nostra regla de govern per Greedy pot haver d'utilitzar sempre el 37 00:01:38,260 --> 00:01:40,590 moneda més gran possible. 38 00:01:40,590 --> 00:01:43,640 Fora de quarts, monedes de deu centaus, cinc centaus, i monedes d'un cèntim, el nostre 39 00:01:43,640 --> 00:01:44,830 la moneda més gran és el trimestre. 40 00:01:44,830 --> 00:01:47,690 Així que anem a tractar d'usar ells primer. 41 00:01:47,690 --> 00:01:49,270 >> De tornada al nostre $ 0,32. 42 00:01:49,270 --> 00:01:52,455 Podem utilitzar una cambra per donar el client $ 0,32? 43 00:01:52,455 --> 00:01:52,930 Sí 44 00:01:52,930 --> 00:01:55,530 Això ens deixa amb 0,07 $ a l'esquerra. 45 00:01:55,530 --> 00:01:57,440 >> Podem utilitzar un altre quart? 46 00:01:57,440 --> 00:02:00,100 No, perquè 25 és més gran que 7. 47 00:02:00,100 --> 00:02:03,470 No volem donar al client més del que els devem. 48 00:02:03,470 --> 00:02:04,190 >> Està bé. 49 00:02:04,190 --> 00:02:07,370 Ara que hem esgotat els nostres barris, anem a passar a la següent més gran 50 00:02:07,370 --> 00:02:09,090 moneda, la moneda de deu centaus. 51 00:02:09,090 --> 00:02:12,400 Podem utilitzar una moneda de deu centaus per donar la client el seu 0,07 $ de tornada? 52 00:02:12,400 --> 00:02:15,100 No, ja que 10 és més gran que 7. 53 00:02:15,100 --> 00:02:18,400 >> Així que la moneda més gran següent accessible per a nosaltres és el níquel. 54 00:02:18,400 --> 00:02:19,590 Podem utilitzar una moneda? 55 00:02:19,590 --> 00:02:20,250 Sí 56 00:02:20,250 --> 00:02:22,940 I llavors hauríem $ 0,02 sobra. 57 00:02:22,940 --> 00:02:24,910 >> No podem fer servir una moneda per tornar 0,02 $. 58 00:02:24,910 --> 00:02:29,510 Així que ens vam canviar l'última moneda a nostra disposició - el darrer cèntim. 59 00:02:29,510 --> 00:02:33,090 I després d'usar dues monedes d'un cèntim, estaríem esquerra amb zero centaus, el que significa que 60 00:02:33,090 --> 00:02:36,350 hem pagat amb èxit de nou l'usuari el seu canvi havia 61 00:02:36,350 --> 00:02:37,830 utilitzant només quatre monedes - 62 00:02:37,830 --> 00:02:40,410 quart, un níquel, i dues monedes d'un cèntim. 63 00:02:40,410 --> 00:02:43,880 >> Podeu executar la solució personal per veure si nostra regla de govern i el procés van donar 64 00:02:43,880 --> 00:02:44,770 nosaltres la resposta correcta. 65 00:02:44,770 --> 00:02:47,820 Per a la majoria dels butlletins de problemes, vostè serà capaç de per executar la solució personal per veure com 66 00:02:47,820 --> 00:02:49,900 el seu propi programa funcionarà. 67 00:02:49,900 --> 00:02:53,390 I les instruccions específiques es estar al problema estableix especificacions. 68 00:02:53,390 --> 00:02:57,180 >> Quan es corre la solució personal, és ens impulsa a què es deu tant canvi 69 00:02:57,180 --> 00:02:59,790 tingui en compte que sol · licita la Suma en dòlars. 70 00:02:59,790 --> 00:03:03,580 Nosaltres d'entrada $ 0,32, 0.32. 71 00:03:03,580 --> 00:03:06,830 Ens diu que 4 monedes se'ls deu, coherent amb la nostra resposta. 72 00:03:06,830 --> 00:03:08,160 Fantàstic. 73 00:03:08,160 --> 00:03:10,210 >> Així que ara anem a començar mirant en la implementació 74 00:03:10,210 --> 00:03:11,780 l'algorisme cobdiciós. 75 00:03:11,780 --> 00:03:13,410 Sabem que un parell de coses. 76 00:03:13,410 --> 00:03:17,280 Un, que necessitarem per sol · licitar al usuari per a una quantitat de canvi. 77 00:03:17,280 --> 00:03:20,830 >> Dos, que anem a voler seguir el nostre que regeix la regla d'utilitzar sempre el 78 00:03:20,830 --> 00:03:22,990 moneda més gran possible. 79 00:03:22,990 --> 00:03:26,370 I tres, que necessitem per realitzar un seguiment de quantes monedes que fem servir. 80 00:03:26,370 --> 00:03:30,040 Com que, finalment, hem de imprimir el nombre de monedes que tenim. 81 00:03:30,040 --> 00:03:33,270 >> En primer lloc, preguntar a l'usuari per un import de canvi. 82 00:03:33,270 --> 00:03:36,880 Cada vegada que s'ocupa de la entrada de l'usuari, assegureu-vos Segur que vostè pensa en tota la 83 00:03:36,880 --> 00:03:40,010 requisits de l'entrada, i només acceptar l'entrada que compleix amb els 84 00:03:40,010 --> 00:03:40,880 requisits. 85 00:03:40,880 --> 00:03:44,100 En aquest cas, volem fer front a un valor monetari en dòlars. 86 00:03:44,100 --> 00:03:48,230 >> Les funcions getFloat i getInt asseguren que l'entrada és numèric. 87 00:03:48,230 --> 00:03:51,700 Però l'usuari és capaç d'introduir els valors numèrics negatius. 88 00:03:51,700 --> 00:03:56,260 Així que recordi utilitzar només no negatiu entrades, el que inclou tots negatius 89 00:03:56,260 --> 00:03:58,370 números i el zero. 90 00:03:58,370 --> 00:04:00,260 >> En aquest cas, l'entrada ha de ser un flotador. 91 00:04:00,260 --> 00:04:01,960 En altres paraules, un nombre decimal. 92 00:04:01,960 --> 00:04:06,000 Com que el conjunt d'especificacions problema requereix que demani per a l'entrada en dòlars. 93 00:04:06,000 --> 00:04:09,540 >> Però en C, els valors de punt flotant no pot són representats amb precisió. 94 00:04:09,540 --> 00:04:12,490 Com que hi ha un nombre finit de bits amb el qual 95 00:04:12,490 --> 00:04:14,870 representar valors infinits. 96 00:04:14,870 --> 00:04:16,860 Prengui el nombre 0.1. 97 00:04:16,860 --> 00:04:21,140 Si hagués de demanar-li que escrigui 0,1 per mà a la posició decimal centèsima, 98 00:04:21,140 --> 00:04:24,380 que anava a escriure un 1, seguit per 99 zeros. 99 00:04:24,380 --> 00:04:27,080 És d'esperar que el nostre equip ho faria imprimir exactament el mateix 100 00:04:27,080 --> 00:04:28,330 si demanem que ho faci. 101 00:04:28,330 --> 00:04:30,320 >> Així que anem a veure el que fa. 102 00:04:30,320 --> 00:04:33,150 Vaig a revisar els paràmetres d'impressió cap Al final d'aquest passeig per. 103 00:04:33,150 --> 00:04:39,270 Per ara, veiem aquí que f% és una marcador de posició per a un punt flotant. 104 00:04:39,270 --> 00:04:44,530 Però s'especifica per endavant que volem 100 decimals que apareixen, i després una nova 105 00:04:44,530 --> 00:04:46,506 línia per al format més agradable. 106 00:04:46,506 --> 00:04:51,710 >> Després de la cadena, triem 0,1 com surem que volem imprimir. 107 00:04:51,710 --> 00:04:56,680 I el resultat, un u, seguit per alguns zeros, però llavors un 108 00:04:56,680 --> 00:04:57,980 Tot munt de nombres. 109 00:04:57,980 --> 00:05:00,470 Per descomptat, no com s'esperava. 110 00:05:00,470 --> 00:05:03,490 >> Punt flotant imprecisió pot introduir errors d'arrodoniment en la seva 111 00:05:03,490 --> 00:05:07,330 càlculs que es vol definitivament vol evitar. 112 00:05:07,330 --> 00:05:10,900 Si vols veure més exemples, pot descarregar des del imprecision.ce 113 00:05:10,900 --> 00:05:14,880 caminar a través de codi, que és un simple programa que demani surar i l'imprimeix 114 00:05:14,880 --> 00:05:17,550 de nou a la posició decimal centèsima. 115 00:05:17,550 --> 00:05:20,340 Per descomptat, si vostè vol mostrar més o menys decimals 116 00:05:20,340 --> 00:05:22,410 pot canviar-se a si mateix. 117 00:05:22,410 --> 00:05:25,740 >> Com veuràs, tot i que la diferència entre els dos és petit, quan arribi 118 00:05:25,740 --> 00:05:30,460 per a la multiplicació i l'addició de flotadors, que discrepància amb el temps es van acumulant. 119 00:05:30,460 --> 00:05:31,790 Retorn a la cobdiciosa. 120 00:05:31,790 --> 00:05:34,870 Anem a voler evitar errors d'arrodoniment en tractar amb nombres enters. 121 00:05:34,870 --> 00:05:38,090 Així que després de rebre una entrada vàlida de l'usuari, convertirem aquest 122 00:05:38,090 --> 00:05:39,550 Valor en dòlars a centaus. 123 00:05:39,550 --> 00:05:43,420 >> Mentalment, ho fem multiplicant el valor en dòlars per 100. 124 00:05:43,420 --> 00:05:46,400 Però recordeu, a causa de coma flotant imprecisió, volem fer 125 00:05:46,400 --> 00:05:48,580 assegurar-nos que estem utilitzant el valor correcte. 126 00:05:48,580 --> 00:05:52,510 Multiplicar per 100 serà essencialment moure del punt decimal dos espais a 127 00:05:52,510 --> 00:05:56,640 la dreta, tallant o truncant res després. 128 00:05:56,640 --> 00:05:59,430 >> Si jugues una mica amb una mica més de exemples, veurà que no podrà 129 00:05:59,430 --> 00:06:02,980 Sempre tenim el nombre correcte si utilitzar aquest mètode de truncar. 130 00:06:02,980 --> 00:06:10,011 Per exemple, 12,59 imprès a 100 decimals, que li dóna 131 00:06:10,011 --> 00:06:14,050 12.5899, etcètera. 132 00:06:14,050 --> 00:06:18,460 Obtindria 12,58 si truncat, no 12.59, igual que vostè necessita. 133 00:06:18,460 --> 00:06:21,130 >> En lloc d'això, el millor és per arrodonir el nombre primer. 134 00:06:21,130 --> 00:06:23,930 Afortunadament, C ve amb el funció anomenada Ronda. 135 00:06:23,930 --> 00:06:25,040 Està a la biblioteca matemàtica. 136 00:06:25,040 --> 00:06:28,540 >> Si vostè vol saber com utilitzar Ronda, a continuació, pot obrir el manual o 137 00:06:28,540 --> 00:06:30,550 pàgina de manual per a aquesta funció. 138 00:06:30,550 --> 00:06:35,510 Això es fa escrivint man, curtcircuit per manual, i la funció que 139 00:06:35,510 --> 00:06:36,620 vulgueu cercar. 140 00:06:36,620 --> 00:06:42,280 Així que escriure tot l'home a la terminal línia d'ordres s'obrirà el manual. 141 00:06:42,280 --> 00:06:44,790 >> Pot ser que sigui una mica difícil de desxifrar, però el temps et 142 00:06:44,790 --> 00:06:45,660 aconseguir la caiguda d'ella. 143 00:06:45,660 --> 00:06:48,290 Les pàgines de manual li mostren el que la funció fa, i una mica més 144 00:06:48,290 --> 00:06:50,170 possibles usos de la mateixa. 145 00:06:50,170 --> 00:06:52,340 Els deixo per explorar la pàgina del manual per a la Ronda. 146 00:06:52,340 --> 00:06:55,960 Però saps que pots usar-lo per arrodonir el valor durant la seva conversió de 147 00:06:55,960 --> 00:06:57,180 dòlars a centaus. 148 00:06:57,180 --> 00:06:59,690 >> Ronda li va a tornar un nombre del tipus de dades doble. 149 00:06:59,690 --> 00:07:03,810 I es pot convertir o fos a un int després. 150 00:07:03,810 --> 00:07:04,980 Gran. 151 00:07:04,980 --> 00:07:08,120 Per ara hem sol · licita a l'usuari per una quantia monetària, i 152 00:07:08,120 --> 00:07:09,520 el va convertir en centaus. 153 00:07:09,520 --> 00:07:12,410 Ara podem implementar un algorisme que utilitza sempre el 154 00:07:12,410 --> 00:07:14,640 majors monedes disponibles. 155 00:07:14,640 --> 00:07:17,790 >> Tingueu en compte que hi ha múltiples formes d'implementar cobdiciós, igual que 156 00:07:17,790 --> 00:07:21,200 hi ha diverses maneres d'apropar-se tots els problemes de la informàtica. 157 00:07:21,200 --> 00:07:24,040 Trobar la forma més elegant, aquesta és la part divertida. 158 00:07:24,040 --> 00:07:27,030 Al llarg d'aquests p-sèries, si el seu programa no coincideix exactament el meu 159 00:07:27,030 --> 00:07:29,190 explicació en els tutorials, això està bé. 160 00:07:29,190 --> 00:07:32,870 Però només assegureu-vos que el seu pas comprovar 50, respon a tots els 161 00:07:32,870 --> 00:07:36,270 prescripcions constitueixen les especificacions, i que té en compte si el 162 00:07:36,270 --> 00:07:37,670 enfocament té un bon disseny. 163 00:07:37,670 --> 00:07:39,750 >> En altres paraules, què tan eficient és? 164 00:07:39,750 --> 00:07:44,400 Per exemple, sabia vostè mecanografia repetitiva línies de codi, en lloc d'utilitzar un bucle? 165 00:07:44,400 --> 00:07:47,580 Escriure codi amb un millor disseny serà vingui a experimentar a mesura que avança 166 00:07:47,580 --> 00:07:49,192 a través del curs. 167 00:07:49,192 --> 00:07:52,350 >> Per a aquest passeig a través, vaig a anar més dos mètodes que es poden utilitzar per 168 00:07:52,350 --> 00:07:53,540 completar cobdiciós. 169 00:07:53,540 --> 00:07:57,160 El primer mètode és un mètode que utilitza bucles i la resta. 170 00:07:57,160 --> 00:08:00,050 Abans, quan parlem a través de la Procés Greedy, contínuament 171 00:08:00,050 --> 00:08:03,220 comprovem si podríem utilitzar un trimestre, i utilitzat quart fins que el 172 00:08:03,220 --> 00:08:05,670 valor restant era menys de $ 0,25. 173 00:08:05,670 --> 00:08:07,990 >> Això es tradueix bé a una mentre que l'estructura de bucle. 174 00:08:07,990 --> 00:08:11,550 Tot i que encara podem utilitzar quart, utilitzeu un. 175 00:08:11,550 --> 00:08:15,900 Aquest bucle while ha d'executar sempre com el valor restant és més gran que 176 00:08:15,900 --> 00:08:18,240 o igual al valor cent vint centaus. 177 00:08:18,240 --> 00:08:20,970 Això significa que vostè també voldrà no perdre de vista els diners restant 178 00:08:20,970 --> 00:08:24,570 valor, i actualitzar cada vegada que utilitzi una moneda. 179 00:08:24,570 --> 00:08:28,350 >> Així mateix, recorda que, al final, la seva la sortida és el nombre de monedes utilitzades. 180 00:08:28,350 --> 00:08:32,400 Així que una altra cosa per no perdre de vista és el nombre de monedes que s'utilitzen. 181 00:08:32,400 --> 00:08:35,450 Pot fer un seguiment d'ells utilitzant ben anomenada variables. 182 00:08:35,450 --> 00:08:39,730 I dins del cos del seu llaç faria ser una actualització d'aquestes variables. 183 00:08:39,730 --> 00:08:43,400 Una vegada que el bucle de trimestre acabi, pot utilitzar una similar per dimes, 184 00:08:43,400 --> 00:08:47,180 i així successivament i així successivament, fins que hagi retornat tots els diners en efectiu. 185 00:08:47,180 --> 00:08:50,640 >> He escrit alguns pseudo-codi per ajudar a visualitzar com el 186 00:08:50,640 --> 00:08:55,080 procés ja vam comentar es podria traduir en C. Com es veu aquí, encara estic fent servir 187 00:08:55,080 --> 00:08:55,760 Les paraules en anglès. 188 00:08:55,760 --> 00:08:56,830 Encara no és C. 189 00:08:56,830 --> 00:08:58,590 Però he començat a coses de sangria. 190 00:08:58,590 --> 00:09:00,690 He posat dins de les condicions meus parèntesi. 191 00:09:00,690 --> 00:09:03,710 Està començant a veure una mica cosa així com el codi de programació. 192 00:09:03,710 --> 00:09:06,410 >> Pseudocodi és una gran manera per aconseguir començat. 193 00:09:06,410 --> 00:09:08,810 Visualitza el teu codi abans de vostè mira cap amunt de sintaxi. 194 00:09:08,810 --> 00:09:12,570 Perquè sovint la part més difícil d'un problema és realment la comprensió del 195 00:09:12,570 --> 00:09:14,450 exactament el que heu de fer. 196 00:09:14,450 --> 00:09:17,490 Una vegada que vostè escriu que cap avall, llavors és una molt més fàcil per buscar les funcions 197 00:09:17,490 --> 00:09:20,390 i la sintaxi específica del seu línia de pseudo-codi 198 00:09:20,390 --> 00:09:23,760 >> Tingueu en compte que això podria no ser idèntica a la classe d'esquelet de 199 00:09:23,760 --> 00:09:25,560 el codi que s'escriu. 200 00:09:25,560 --> 00:09:27,640 Sempre hi ha optimitzacions a realitzar. 201 00:09:27,640 --> 00:09:31,250 I sobretot al meu pseudo-codi aquí, a veure si ho pot veure. 202 00:09:31,250 --> 00:09:33,380 >> Però essencialment el procés i la manera de pensar 203 00:09:33,380 --> 00:09:35,250 és just com ho discutim. 204 00:09:35,250 --> 00:09:38,350 La primera línia ens diu que hem d'obtenir una certa quantitat en dòlars. 205 00:09:38,350 --> 00:09:40,960 I el segon ens diu que convertir-lo en centaus. 206 00:09:40,960 --> 00:09:45,640 >> I llavors, mentre quartes parts es poden utilitzar, ens que desitgi augmentar el recompte de monedes i 207 00:09:45,640 --> 00:09:47,200 disminuir la quantitat d'efectiu. 208 00:09:47,200 --> 00:09:49,880 El mateix va per a deu, cinc, i monedes d'un cèntim. 209 00:09:49,880 --> 00:09:53,230 I, finalment, li diem a l'usuari quantes monedes que fem servir. 210 00:09:53,230 --> 00:09:53,750 >> Gran. 211 00:09:53,750 --> 00:09:55,680 Així que amb això conclou el mètode de bucle. 212 00:09:55,680 --> 00:09:59,720 Ara anem a parlar sobre el mètode modular, que s'assembla més a la divisió. 213 00:09:59,720 --> 00:10:03,630 >> Tots estem familiaritzats amb el signe més, menys, multiplicar i dividir els operadors 214 00:10:03,630 --> 00:10:05,030 disponible per a nosaltres. 215 00:10:05,030 --> 00:10:09,060 C té tots els quatre dels, però també té l'operador de mòdul, representat per una 216 00:10:09,060 --> 00:10:10,640 signe de percentatge. 217 00:10:10,640 --> 00:10:11,940 Mòdul està molt ben cuidat. 218 00:10:11,940 --> 00:10:14,880 Li dóna la resta de dividir dos nombres. 219 00:10:14,880 --> 00:10:19,910 >> Recorda el missatge de la divisió llarga quan es divideix, per exemple, 74 per tres? 220 00:10:19,910 --> 00:10:23,510 A partir de la posició de les desenes, hauria saben que 3 entrarà en set 221 00:10:23,510 --> 00:10:27,620 dues vegades per fer un 6 amb resta un. 222 00:10:27,620 --> 00:10:31,870 Vostè escriuria dos a la part superior, i després restar 6 de set, portant sobre 223 00:10:31,870 --> 00:10:34,980 la resta de 14 a repetir el procés. 224 00:10:34,980 --> 00:10:39,410 >> Tres entra en 14 quatre vegades a fer 12, amb la resta dos. 225 00:10:39,410 --> 00:10:40,930 I dos no es trasllada més. 226 00:10:40,930 --> 00:10:44,170 Així que dos quedarien en la inferior que la resta. 227 00:10:44,170 --> 00:10:46,800 >> I això és el que li dóna mòdul, vostè aquest número a la part inferior. 228 00:10:46,800 --> 00:10:49,790 Així que el 74 de mòdul de tres li donaria 2. 229 00:10:49,790 --> 00:10:52,980 I 10 mòdul dos, així que donaria a posar a zero. 230 00:10:52,980 --> 00:10:56,500 Perquè no hi ha cap resta quan es divideix 10 per dos. 231 00:10:56,500 --> 00:11:00,190 >> Sis mòdul cinc, així 5:00 entra en sis una vegada. 232 00:11:00,190 --> 00:11:01,830 I llavors, s'ha un sobres. 233 00:11:01,830 --> 00:11:04,720 Així que sis de mòdul és un de cinc. 234 00:11:04,720 --> 00:11:07,950 >> Llavors, si tens 7 mòdul 09:00, s'obtindria 07:00. 235 00:11:07,950 --> 00:11:09,840 Com que el nou és més gran que 7. 236 00:11:09,840 --> 00:11:15,020 Per tant, no es divideix tot en set, deixant set com a la seva resposta. 237 00:11:15,020 --> 00:11:18,340 >> Si ho penses mòdul una mica més, recordi que vostè la dóna 238 00:11:18,340 --> 00:11:21,020 resta després de dividir una cosa. 239 00:11:21,020 --> 00:11:23,620 Penseu en com és possible que capaç d'utilitzar en Greedy. 240 00:11:23,620 --> 00:11:27,620 Diguem que l'usuari demana $ 400,11. 241 00:11:27,620 --> 00:11:30,470 Quin és una manera d'esbrinar quantes quarts que vostè necessita sense haver de 242 00:11:30,470 --> 00:11:32,360 comptar cada un? 243 00:11:32,360 --> 00:11:37,480 >> Un cop d'esbrinar quants trimestres vostè pot utilitzar per fer $ 400,11, quant 244 00:11:37,480 --> 00:11:38,880 canviar restes? 245 00:11:38,880 --> 00:11:42,110 Potser una combinació entre aquí mòdul i divisió entrarien 246 00:11:42,110 --> 00:11:46,200 a mà per donar-li un lloc fresc, elegant acostar-se al problema cobdiciós. 247 00:11:46,200 --> 00:11:49,030 Però recorda que el Consell de regla segueix sent vàlida. 248 00:11:49,030 --> 00:11:51,610 Utilitzeu sempre la moneda més gran possible. 249 00:11:51,610 --> 00:11:55,340 >> Un cop fet el càlcul de com moltes monedes a utilitzar, l'últim pas 250 00:11:55,340 --> 00:11:57,930 és imprimir el nombre de monedes que va calcular. 251 00:11:57,930 --> 00:12:01,610 Fins ara, hem estat utilitzant el printf funcionar únicament amb cordes. 252 00:12:01,610 --> 00:12:05,200 Però quan es vol imprimir una a, o qualsevol tipus de dades que s'emmagatzema 253 00:12:05,200 --> 00:12:09,200 en una variable, cal indicar que l'ús d'un marcador de posició. 254 00:12:09,200 --> 00:12:12,400 >> Aquí he inclòs només alguns consells sobre com imprimir valors. 255 00:12:12,400 --> 00:12:16,390 Si vostè té un nombre enter, ho faria escriure la seva cadena usant% d com 256 00:12:16,390 --> 00:12:17,450 marcador de posició. 257 00:12:17,450 --> 00:12:20,170 Després de la cotització de tancament marca, afegiu una coma. 258 00:12:20,170 --> 00:12:24,530 I a continuació, posar en el sencer que es prendre el lloc de% d quan s'imprimeix. 259 00:12:24,530 --> 00:12:27,150 >> Així que després de mostrar el nombre de les monedes utilitzades, ets 260 00:12:27,150 --> 00:12:28,500 acabat amb Greedy. 261 00:12:28,500 --> 00:12:32,000 Assegureu-vos de revisar tots els casos de cantonada, posar en ordre el seu estil una mica, i ja està 262 00:12:32,000 --> 00:12:33,350 tot a punt per presentar. 263 00:12:33,350 --> 00:12:36,000 Al final d'aquest conjunt de problemes, se li estar més familiaritzat amb el CS50 264 00:12:36,000 --> 00:12:39,940 aparell, el terminal, i el bucle estructures i variables en C. 265 00:12:39,940 --> 00:12:41,470 >> Vostè està bé en el seu camí. 266 00:12:41,470 --> 00:12:43,040 La corba d'aprenentatge pot semblar difícil. 267 00:12:43,040 --> 00:12:44,690 Així que anar pas a pas. 268 00:12:44,690 --> 00:12:47,110 Assegureu-vos d'escriure fora de pseudo-codi abans de bussejar massa profund 269 00:12:47,110 --> 00:12:49,000 en la sintaxi desconeguda. 270 00:12:49,000 --> 00:12:52,030 >> Feu una llista de tasques, i trencar el assignació en més petits i més 271 00:12:52,030 --> 00:12:53,440 tasques manejables. 272 00:12:53,440 --> 00:12:55,810 Explora tots els recursos CS50. 273 00:12:55,810 --> 00:12:58,270 A més de la conferència, rewatch aquest passeig a través. 274 00:12:58,270 --> 00:12:59,790 >> Presti molta atenció a la secció. 275 00:12:59,790 --> 00:13:00,710 Fes una ullada als pantalons curts. 276 00:13:00,710 --> 00:13:04,640 Llegiu les preguntes dels seus companys de classe en Discutiu i publicar el seu propi compte. 277 00:13:04,640 --> 00:13:06,110 >> Bona sort amb el p-set. 278 00:13:06,110 --> 00:13:07,200 I gràcies per mirar. 279 00:13:07,200 --> 00:13:08,690 Això era cobdiciós. 280 00:13:08,690 --> 00:13:15,691 >> [REPRODUCCIÓ DE MÚSICA]