1 00:00:00,000 --> 00:00:03,980 vale, pues nuestra función 2 00:00:03,980 --> 00:00:05,540 va a ser una función 3 00:00:05,540 --> 00:00:08,080 que reciba dos números 4 00:00:08,080 --> 00:00:09,460 enteros 5 00:00:09,460 --> 00:00:11,580 esto 6 00:00:11,580 --> 00:00:13,619 porque el 7 00:00:13,619 --> 00:00:22,519 el máximo común divisor 8 00:00:22,519 --> 00:00:23,620 es de enteros, ¿verdad? 9 00:00:24,120 --> 00:00:26,120 el máximo común divisor 10 00:00:26,120 --> 00:00:29,359 vale, entonces 11 00:00:29,359 --> 00:00:30,960 silencio 12 00:00:30,960 --> 00:00:33,960 uno tiene que codificar este código 13 00:00:33,960 --> 00:00:35,640 bueno, pues entonces 14 00:00:35,640 --> 00:00:37,700 tiene que pensar en un algoritmo 15 00:00:37,700 --> 00:00:39,899 o bien lo piensa de cero, de partida 16 00:00:39,899 --> 00:00:42,320 y a ver cómo se le ocurre 17 00:00:42,320 --> 00:00:44,200 o bien pues si se acuerda 18 00:00:44,200 --> 00:00:46,039 porque luego dice, ah, pero si Euclides 19 00:00:46,039 --> 00:00:47,700 ya tenía una ley 20 00:00:47,700 --> 00:00:49,979 un principio matemático 21 00:00:49,979 --> 00:00:51,840 que me va a ayudar a hacer esto 22 00:00:51,840 --> 00:00:53,880 bueno, pues entonces el principio 23 00:00:53,880 --> 00:00:55,799 matemático que tenía 24 00:00:55,799 --> 00:00:56,420 Euclides 25 00:00:56,420 --> 00:00:59,899 para ayudarle a obtener rápidamente 26 00:00:59,899 --> 00:01:01,520 el máximo común divisor entre dos números 27 00:01:01,520 --> 00:01:02,100 era este. 28 00:01:02,619 --> 00:01:04,000 Pues que si uno tiene dos números, 29 00:01:04,459 --> 00:01:04,879 A y B, 30 00:01:07,640 --> 00:01:09,760 siendo A el mayor de ellos, 31 00:01:10,159 --> 00:01:11,540 los ponemos siempre en este orden, 32 00:01:11,799 --> 00:01:13,019 siendo A el mayor de ellos, 33 00:01:13,579 --> 00:01:15,040 pues el máximo común divisor 34 00:01:15,040 --> 00:01:16,019 entre estos dos números 35 00:01:16,019 --> 00:01:17,700 es igual, 36 00:01:17,980 --> 00:01:19,200 es exactamente igual 37 00:01:19,200 --> 00:01:20,760 que el máximo común divisor 38 00:01:20,760 --> 00:01:22,040 de este número 39 00:01:22,040 --> 00:01:24,439 y del resto de dividir A entre B. 40 00:01:24,439 --> 00:01:27,700 esto es una ley 41 00:01:27,700 --> 00:01:29,500 matemática que es así 42 00:01:29,500 --> 00:01:31,799 y ahora gráficamente lo vamos a 43 00:01:31,799 --> 00:01:33,620 entender porque hacer una demostración 44 00:01:33,620 --> 00:01:34,700 matemática no tiene sentido 45 00:01:34,700 --> 00:01:37,459 pero este es uno de los principios 46 00:01:37,459 --> 00:01:38,120 de Euclides 47 00:01:38,120 --> 00:01:41,579 por llamarlo así, que el máximo común divisor 48 00:01:41,579 --> 00:01:43,680 de dos numeritos A y B es el mismo 49 00:01:43,680 --> 00:01:45,599 que el máximo común divisor 50 00:01:45,599 --> 00:01:47,579 de el menor de esos números 51 00:01:47,579 --> 00:01:49,560 y el resto de dividir el mayor 52 00:01:49,560 --> 00:01:50,280 entre el menor 53 00:01:50,280 --> 00:01:53,819 entonces uno podría decir, vale, pues esto lo creo 54 00:01:53,819 --> 00:01:55,540 porque Euclide lo dice 55 00:01:55,540 --> 00:01:57,379 y ahora ya uso esta idea 56 00:01:57,379 --> 00:01:59,799 uso esta idea para hacer el programa 57 00:01:59,799 --> 00:02:00,480 ¿vale? 58 00:02:01,480 --> 00:02:02,840 entonces que esto es así 59 00:02:02,840 --> 00:02:05,500 es relativamente 60 00:02:05,500 --> 00:02:07,680 fácil de ver 61 00:02:07,680 --> 00:02:08,439 que esto es así 62 00:02:08,439 --> 00:02:10,319 ¿y si da resto cero? 63 00:02:12,240 --> 00:02:12,900 vale, ahora lo 64 00:02:12,900 --> 00:02:15,620 si da resto cero es que entonces 65 00:02:15,620 --> 00:02:17,659 el máximo común divisor ya es este numerito 66 00:02:17,659 --> 00:02:19,759 ahora lo vamos a ver, entonces ya lo tienes 67 00:02:19,759 --> 00:02:20,740 ¿cómo? 68 00:02:20,740 --> 00:02:26,349 ¿cómo se va a hacer? 69 00:02:26,590 --> 00:02:26,949 tienes 70 00:02:26,949 --> 00:02:39,629 entonces imaginemos 71 00:02:39,629 --> 00:02:41,310 que este numerito es A 72 00:02:41,310 --> 00:02:43,849 que es el más grandote 73 00:02:43,849 --> 00:02:46,009 y este numerito es B 74 00:02:46,009 --> 00:02:47,909 que es a lo mejor 75 00:02:47,909 --> 00:02:49,210 uno más pequeñito 76 00:02:49,210 --> 00:02:50,770 este numerito es B 77 00:02:50,770 --> 00:02:53,469 el máximo común divisor ¿cuál es? 78 00:02:53,889 --> 00:02:55,770 el máximo común divisor es un número 79 00:02:55,770 --> 00:02:59,409 que divide de forma exacta a los dos, ¿verdad? 80 00:02:59,530 --> 00:03:00,449 Es divisor de ambos. 81 00:03:01,229 --> 00:03:05,509 Vamos a imaginar que el máximo común divisor es este cuadradito, esta unidad. 82 00:03:06,250 --> 00:03:10,530 Luego, este divide de forma exacta a B porque cabe tres veces en él. 83 00:03:10,810 --> 00:03:12,770 Eso es dividir de forma exacta un número, ¿no? 84 00:03:13,189 --> 00:03:15,789 Caber en él exactamente una cantidad de veces. 85 00:03:16,729 --> 00:03:19,009 Este sería ese máximo común divisor 86 00:03:19,009 --> 00:03:22,370 porque divide de forma exacta a B 87 00:03:22,370 --> 00:03:25,569 Y también divide de forma exacta 88 00:03:25,569 --> 00:03:26,169 A a 89 00:03:26,169 --> 00:03:30,120 Estas porciones que estoy poniendo 90 00:03:30,120 --> 00:03:32,139 Que no lo parezca, se supone que son idénticas 91 00:03:32,139 --> 00:03:33,979 Todas ellas, ¿no? 92 00:03:34,479 --> 00:03:35,919 Vale, entonces 93 00:03:35,919 --> 00:03:38,199 El máximo común divisor 94 00:03:38,199 --> 00:03:39,319 Es algo como esto 95 00:03:39,319 --> 00:03:42,479 Es algo que divide de forma exacta 96 00:03:42,479 --> 00:03:44,199 A a b, porque cabe en él exactamente 97 00:03:44,199 --> 00:03:45,020 Un número de veces 98 00:03:45,020 --> 00:03:47,379 Y divide de forma exacta a a 99 00:03:47,379 --> 00:03:50,360 Porque cabe en él un número exacto de veces 100 00:03:50,360 --> 00:03:52,099 Vale, entonces 101 00:03:52,099 --> 00:03:55,020 y ahora, y si hacemos ahora el resto 102 00:03:55,020 --> 00:03:57,120 de dividir A entre B 103 00:03:57,120 --> 00:03:59,199 ¿qué numerito 104 00:03:59,199 --> 00:04:01,219 tenemos? Pues el resto de A entre B sería 105 00:04:01,219 --> 00:04:03,099 vamos a ver cuántas veces cabe 106 00:04:03,099 --> 00:04:05,039 B en A, que sería la división 107 00:04:05,039 --> 00:04:07,300 y vamos a ver lo que sobra. Bueno, pues 108 00:04:07,300 --> 00:04:09,199 B, el resto de dividir 109 00:04:09,199 --> 00:04:11,180 B entre A, perdón, A entre B 110 00:04:11,180 --> 00:04:13,020 sería esto de aquí, ¿no? 111 00:04:13,599 --> 00:04:15,159 Porque aquí tenemos un B 112 00:04:15,159 --> 00:04:15,879 que ya ha cabido 113 00:04:15,879 --> 00:04:19,100 aquí tenemos otro B 114 00:04:19,100 --> 00:04:20,319 enterito que ya ha cabido 115 00:04:20,319 --> 00:04:22,819 Aquí tenemos otro B enterito 116 00:04:22,819 --> 00:04:23,759 Que ya ha cabido 117 00:04:23,759 --> 00:04:26,199 Y aquí tenemos el resto 118 00:04:26,199 --> 00:04:28,180 Con lo cual, esto sería 119 00:04:28,180 --> 00:04:31,240 El cociente de dividida entre B sería 3 120 00:04:31,240 --> 00:04:33,800 Porque B cabe 3 veces en A 121 00:04:33,800 --> 00:04:35,639 Y el resto sería esto 122 00:04:35,639 --> 00:04:37,720 Esto sería aquí 123 00:04:37,720 --> 00:04:39,199 Luego 124 00:04:39,199 --> 00:04:41,019 Ahora ya 125 00:04:41,019 --> 00:04:43,259 Estas dos cuantidades, ¿cuáles serían? 126 00:04:44,579 --> 00:04:45,600 Esta B 127 00:04:45,600 --> 00:04:47,459 Y el resto de dividida entre B 128 00:04:47,459 --> 00:04:49,839 Que son estas dos porciones que me han quedado aquí 129 00:04:49,839 --> 00:04:52,620 estas dos, pues efectivamente 130 00:04:52,620 --> 00:04:54,240 el máximo común divisor 131 00:04:54,240 --> 00:04:56,240 este de aquí, sigue 132 00:04:56,240 --> 00:04:58,339 siendo el máximo común divisor de estas dos 133 00:04:58,339 --> 00:05:00,339 cosas, lo sigue siendo 134 00:05:00,339 --> 00:05:02,519 porque divide de forma exacta a este 135 00:05:02,519 --> 00:05:04,420 y divide de forma exacta a este 136 00:05:04,420 --> 00:05:06,540 luego el máximo común divisor 137 00:05:06,540 --> 00:05:08,519 de A y B, que es esta porcioncita 138 00:05:08,519 --> 00:05:10,220 también es el máximo 139 00:05:10,220 --> 00:05:12,339 común divisor de B y el resto 140 00:05:12,339 --> 00:05:13,959 de dividida entre B, que son estas dos 141 00:05:13,959 --> 00:05:15,740 ¿verdad? luego eso 142 00:05:15,740 --> 00:05:18,620 se cumple, si volvemos a hacer la división 143 00:05:18,620 --> 00:05:20,420 ahora, el resto de 144 00:05:20,420 --> 00:05:22,579 dividir, ahora 145 00:05:22,579 --> 00:05:24,079 esto entre esto 146 00:05:24,079 --> 00:05:26,300 ¿el resto cuál da? este de aquí 147 00:05:26,300 --> 00:05:28,620 luego ahora, si volvemos 148 00:05:28,620 --> 00:05:30,240 a hacer la división, esta de aquí 149 00:05:30,240 --> 00:05:32,540 tendríamos, este como 150 00:05:32,540 --> 00:05:33,399 el numerito grande 151 00:05:33,399 --> 00:05:35,839 este sería 152 00:05:35,839 --> 00:05:38,819 este numerito de aquí, que ahora para el algoritmo 153 00:05:38,819 --> 00:05:39,379 este 154 00:05:39,379 --> 00:05:42,459 le llamamos A, pasa a convertirse A 155 00:05:42,459 --> 00:05:44,540 y este pasa a convertirse en el nuevo B 156 00:05:44,540 --> 00:05:46,620 ¿verdad? este se convierte 157 00:05:46,620 --> 00:05:48,139 en el nuevo A, que es el grande 158 00:05:48,139 --> 00:05:51,379 y este se convierte en el nuevo b, que es el pequeño. 159 00:05:51,379 --> 00:05:56,139 Vale, pues nuestro a sería este y ahora, perdón, 160 00:05:57,920 --> 00:06:01,620 ahora vamos a hacer el resto de dividir, este entre este, 161 00:06:02,019 --> 00:06:04,220 el cociente es 1 porque este cabe una vez aquí 162 00:06:04,220 --> 00:06:06,160 y el resto es una unidad que me sobra. 163 00:06:07,120 --> 00:06:10,279 Luego ahora, el numerito grande ahora sería este, 164 00:06:11,040 --> 00:06:12,139 este es el nuevo a, 165 00:06:13,199 --> 00:06:16,120 y el resto es el numerito pequeño que sería este de aquí, 166 00:06:16,420 --> 00:06:17,439 que este sería el nuevo b. 167 00:06:18,139 --> 00:06:26,319 Y efectivamente el máximo común divisor de este y este sigue siendo el mismo. 168 00:06:28,100 --> 00:06:33,839 Ahora volvemos a hacer la operación de hacer el resto de dividir este entre este. 169 00:06:34,660 --> 00:06:35,980 El resto dividido entre este y este. 170 00:06:36,519 --> 00:06:43,779 Pues este te cabe una vez aquí, no, ahora ya dos veces y resto cero, efectivamente. 171 00:06:44,560 --> 00:06:46,920 Entonces este te cabe dos veces y te sale resto cero. 172 00:06:46,920 --> 00:06:52,839 Luego ahora, el numerito grande sería este, este sería el grande, y el resto ya es cero. 173 00:06:53,720 --> 00:06:59,560 ¿Qué ha ocurrido? Que el último de los restos es precisamente ese máximo común divisor que estamos buscando. 174 00:06:59,600 --> 00:07:03,019 O sea, el último de los restos, el último de los restos. 175 00:07:03,060 --> 00:07:04,300 El resto ya es, bueno. 176 00:07:04,879 --> 00:07:09,480 Sí, el último de los restos, que es el último de los cocinados, o sea, el penúltimo de los restos, porque el último es cero. 177 00:07:11,300 --> 00:07:15,439 Luego el último A grande, porque este ya se ha quedado cero, es el máximo común divisor. 178 00:07:15,439 --> 00:07:17,480 Pues es el algoritmo de Euclides 179 00:07:17,480 --> 00:07:18,480 ¿Vale? 180 00:07:19,480 --> 00:07:21,199 Partimos de que el máximo común divisor 181 00:07:21,199 --> 00:07:23,579 Es un numerito que cabe de forma exacta en todos 182 00:07:23,579 --> 00:07:25,339 Si vamos haciendo 183 00:07:25,339 --> 00:07:27,300 Sucesivos restos 184 00:07:27,300 --> 00:07:29,000 Este es el nuevo resto 185 00:07:29,000 --> 00:07:30,220 Que pasa aquí 186 00:07:30,220 --> 00:07:33,160 Este se convierte en el número grande y este el pequeño 187 00:07:33,160 --> 00:07:35,339 Y comprobamos efectivamente a la vista 188 00:07:35,339 --> 00:07:36,740 Que el máximo común divisor 189 00:07:36,740 --> 00:07:39,319 Entre este y este es el mismo, es la misma porción 190 00:07:39,319 --> 00:07:41,680 Seguimos operando 191 00:07:41,680 --> 00:07:42,420 Ahora hacemos 192 00:07:42,420 --> 00:07:45,319 El resto de dividir, esto entre este 193 00:07:45,319 --> 00:07:47,160 me da cociente 1, resto 1 194 00:07:47,160 --> 00:07:49,720 el nuevo grande es este, el resto es 1 195 00:07:49,720 --> 00:07:50,500 el que me ha sobrado 196 00:07:50,500 --> 00:07:52,920 tengo nuevo grande y nuevo pequeño 197 00:07:52,920 --> 00:07:55,420 y ahora la siguiente operación 198 00:07:55,420 --> 00:07:57,500 en bucle, siguiente operación 199 00:07:57,500 --> 00:07:59,480 cociente y resto dividen 200 00:07:59,480 --> 00:08:00,839 entre este y este, cociente 2 201 00:08:00,839 --> 00:08:03,100 resto que es el que me interesa, 0 202 00:08:03,100 --> 00:08:04,920 este ya es 0 203 00:08:04,920 --> 00:08:07,160 pues el último resto 204 00:08:07,160 --> 00:08:09,279 que es este, el último 205 00:08:09,279 --> 00:08:11,480 grande, es exactamente la porción 206 00:08:11,480 --> 00:08:13,519 que estaba buscando, es exactamente la porción 207 00:08:13,519 --> 00:08:15,180 que busco, que es el máximo común divisor 208 00:08:15,180 --> 00:08:18,519 eso sería una forma para saberlo 209 00:08:18,519 --> 00:08:20,480 si no sabes que la caja 210 00:08:20,480 --> 00:08:22,399 es la que entra en el A y en el B 211 00:08:22,399 --> 00:08:23,959 como si no sabes, a ver 212 00:08:23,959 --> 00:08:26,180 tú lo que quieres averiguar es precisamente el valor 213 00:08:26,180 --> 00:08:27,040 de esta caja 214 00:08:27,040 --> 00:08:31,839 a ver, lo que queremos es precisamente 215 00:08:31,839 --> 00:08:33,340 averiguar este valor 216 00:08:33,340 --> 00:08:35,840 este es nuestro resultado, este valor 217 00:08:35,840 --> 00:08:38,279 lo que has hecho al principio 218 00:08:38,279 --> 00:08:39,539 de separar el A en caja 219 00:08:39,539 --> 00:08:41,799 será para que lo viésemos 220 00:08:41,799 --> 00:08:43,519 claro, claro, para que lo viésemos 221 00:08:43,519 --> 00:08:49,220 Para que viésemos que el máximo común divisor de esto es igual que este. 222 00:08:49,620 --> 00:08:52,659 Para que viéramos que esta igualdad se cumple, que matemáticamente se cumple. 223 00:08:52,759 --> 00:08:56,360 Para en lugar de demostrarla matemáticamente, verlo en gráfico. 224 00:08:57,080 --> 00:08:58,019 Verlo en gráfico. 225 00:08:58,100 --> 00:09:01,779 Entonces aquí lo vemos claro, que el máximo común divisor entra de forma exacta aquí o aquí. 226 00:09:02,480 --> 00:09:07,200 Pues toda esta operación, este valor va a seguir entrando de forma exacta en las dos porciones. 227 00:09:07,379 --> 00:09:09,200 Luego va a ser también el máximo común divisor. 228 00:09:09,200 --> 00:09:12,620 entonces, viendo que esto se cumple 229 00:09:12,620 --> 00:09:14,539 ya podemos hacer el algoritmo 230 00:09:14,539 --> 00:09:15,399 que el algoritmo será 231 00:09:15,399 --> 00:09:18,120 un montón de iteraciones en las cuales 232 00:09:18,120 --> 00:09:20,700 divides el grande 233 00:09:20,700 --> 00:09:21,539 entre el pequeño 234 00:09:21,539 --> 00:09:23,080 te quedas con el resto 235 00:09:23,080 --> 00:09:25,539 y ahora tienes un nuevo grande 236 00:09:25,539 --> 00:09:27,679 que es el pequeño anterior 237 00:09:27,679 --> 00:09:29,519 y un nuevo pequeño que es el resto 238 00:09:29,519 --> 00:09:31,940 eso otra vez al bucle 239 00:09:31,940 --> 00:09:34,000 divides el grande entre el pequeño 240 00:09:34,000 --> 00:09:35,740 tienes un nuevo grande 241 00:09:35,740 --> 00:09:36,980 que es el pequeño anterior 242 00:09:36,980 --> 00:09:40,200 y un nuevo pequeño que es el resto, ¿vale? 243 00:09:40,580 --> 00:09:43,820 O sea, el pequeño anterior en cada iteración 244 00:09:43,820 --> 00:09:45,700 se convierte en el nuevo grande 245 00:09:45,700 --> 00:09:50,399 y el resto se convierte en el nuevo pequeño, ¿vale? 246 00:09:51,019 --> 00:09:56,700 Bueno, ¿cuándo acabará esto? 247 00:09:56,820 --> 00:09:59,179 Cuando hayamos encontrado ya un resto cero. 248 00:09:59,620 --> 00:10:01,399 Y cuando hemos encontrado un resto cero, 249 00:10:02,039 --> 00:10:04,059 el último resto, 250 00:10:04,820 --> 00:10:06,700 no, el último cociente no porque habría sido dos, 251 00:10:07,080 --> 00:10:09,279 el último resto que no fue cero, 252 00:10:09,279 --> 00:10:11,200 El último resto que no fue cero 253 00:10:11,200 --> 00:10:13,720 Es el máximo común divisor 254 00:10:13,720 --> 00:10:14,419 ¿Vale? 255 00:10:14,519 --> 00:10:16,940 Será el último resto que no ha sido cero 256 00:10:16,940 --> 00:10:19,019 Ese es el máximo común divisor 257 00:10:19,019 --> 00:10:20,700 ¿Vale? Pues ahora es programar esto 258 00:10:20,700 --> 00:10:22,779 Un bucle es programar directamente esto 259 00:10:22,779 --> 00:10:23,620 Que es lo que habréis 260 00:10:23,620 --> 00:10:26,299 Hecho ahí 261 00:10:26,299 --> 00:10:27,720 Entonces 262 00:10:27,720 --> 00:10:29,840 Uy 263 00:10:29,840 --> 00:10:46,759 Que no te gusta, ¿por qué? 264 00:10:46,759 --> 00:10:50,039 pero largo es 265 00:10:50,039 --> 00:10:52,460 una línea, es un par de líneas 266 00:10:52,460 --> 00:10:57,580 pero 267 00:10:57,580 --> 00:10:59,720 tú más o menos 268 00:10:59,720 --> 00:11:02,159 de lo que 269 00:11:02,159 --> 00:11:04,139 hemos dicho ahí te ha cuadrado y has dicho 270 00:11:04,139 --> 00:11:06,340 uy si esto tiene sentido más o menos 271 00:11:06,340 --> 00:11:08,000 lo entiendo y algo veo 272 00:11:08,000 --> 00:11:10,279 porque si la respuesta 273 00:11:10,279 --> 00:11:12,059 es sí, has avanzado 274 00:11:12,059 --> 00:11:14,299 lo que tienes que avanzar, que es que tu cerebro 275 00:11:14,299 --> 00:11:15,039 se mueva 276 00:11:15,039 --> 00:11:18,179 de verdad, tenéis que estar listos 277 00:11:18,179 --> 00:11:19,360 eso es lo único que 278 00:11:19,360 --> 00:11:22,679 tenéis que estar listos 279 00:11:22,679 --> 00:11:25,039 además 280 00:11:25,039 --> 00:11:28,700 vale, pues entonces, vamos a programar esto 281 00:11:28,700 --> 00:11:31,639 venga, va 282 00:11:31,639 --> 00:11:34,700 ejercicios de que era 283 00:11:34,700 --> 00:11:36,059 esto de repaso 284 00:11:36,059 --> 00:11:37,799 y este que numerito era, ¿se acuerda alguien? 285 00:11:39,559 --> 00:11:40,279 pero, ¿veis? 286 00:11:40,360 --> 00:11:40,740 ¿veis como? 287 00:11:41,740 --> 00:11:43,759 os estoy espabilando mucho 288 00:11:43,759 --> 00:11:48,080 y vais a salir de aquí muy currados. 289 00:11:53,600 --> 00:11:55,080 Venga, pues vamos a hacer esta función. 290 00:11:55,279 --> 00:11:57,039 A ver si pongo alguna tontería o no. 291 00:11:57,159 --> 00:11:58,480 Si la pongo, vosotros ya la habéis mirado. 292 00:11:59,720 --> 00:12:01,240 Vale, pues venga, vamos a hacer la función 293 00:12:01,240 --> 00:12:06,240 que me da el máximo común divisor entre dos numeritos. 294 00:12:06,980 --> 00:12:08,279 A y B. 295 00:12:11,539 --> 00:12:14,279 Vale, podemos partir ya de la base 296 00:12:14,279 --> 00:12:16,980 de que A es mayor que B 297 00:12:16,980 --> 00:12:18,799 o no, mejor no 298 00:12:18,799 --> 00:12:20,919 y si no lo son los intercambiamos 299 00:12:20,919 --> 00:12:21,460 y ya está 300 00:12:21,460 --> 00:12:24,860 entonces, si A resulta 301 00:12:24,860 --> 00:12:26,120 que es menor que B 302 00:12:26,120 --> 00:12:28,240 vamos a intercambiarlos 303 00:12:28,240 --> 00:12:29,100 y ya está 304 00:12:29,100 --> 00:12:32,340 vamos a intercambiarlos, pero bueno, esto ya sabíamos 305 00:12:32,340 --> 00:12:34,759 que es fácil de intercambiar de esta manera 306 00:12:34,759 --> 00:12:42,330 ala, ya está, ya están los valores 307 00:12:42,330 --> 00:12:43,129 intercambiados 308 00:12:43,129 --> 00:12:46,370 ahora ya A tiene el valor 309 00:12:46,370 --> 00:12:47,269 mayor de los dos 310 00:12:47,269 --> 00:12:52,450 ¿Vale? Hemos intercambiado el contenido de A por el contenido de B, ¿verdad? 311 00:12:53,549 --> 00:12:54,029 Vale. 312 00:12:54,730 --> 00:12:57,389 Ahora ya que están intercambiados, ahora ya vamos a hacer un bucle 313 00:12:57,389 --> 00:13:03,460 que está continuamente haciendo lo que decimos ahí. 314 00:13:04,700 --> 00:13:10,409 Sacamos el resto de dividir A entre B. 315 00:13:13,840 --> 00:13:15,700 Vale. Una vez que hemos sacado el resto, 316 00:13:16,879 --> 00:13:21,139 A, que es el nuevo grande, el nuevo grande es el pequeño anterior, 317 00:13:21,879 --> 00:13:22,419 el que era B. 318 00:13:22,419 --> 00:13:27,559 Y B, que es el pequeño actual, es el resto que acabamos de sacar. 319 00:13:28,720 --> 00:13:31,080 Es justo lo que acabamos de programar, ¿vale? 320 00:13:31,480 --> 00:13:33,419 Estamos todo el rato haciendo el resto. 321 00:13:33,899 --> 00:13:36,419 El resto se convierte en el nuevo pequeño. 322 00:13:39,179 --> 00:13:42,480 Y el nuevo grande es el que era el pequeño antes. 323 00:13:42,779 --> 00:13:44,460 Es lo que teníamos dibujado en la pizarra. 324 00:13:48,110 --> 00:13:49,929 Este bucle, ¿hasta cuándo se ejecuta? 325 00:13:49,950 --> 00:13:53,090 Hemos dicho, mientras B sea diferente de 0. 326 00:13:53,090 --> 00:13:55,690 este bucle va a estar ahí ejecutándose 327 00:13:55,690 --> 00:13:58,110 hasta que no me llegue un resto cero 328 00:13:58,110 --> 00:13:59,870 cuando me llega un resto cero, es que de hecho 329 00:13:59,870 --> 00:14:01,929 si me metiera aquí con b igual a cero 330 00:14:01,929 --> 00:14:03,870 me saldría aquí un pedazo de 331 00:14:03,870 --> 00:14:05,990 arithmetic exception, ¿verdad? 332 00:14:06,649 --> 00:14:07,330 porque no puede ser 333 00:14:07,330 --> 00:14:10,009 porque al hacer el cociente 334 00:14:10,009 --> 00:14:12,210 él internamente hace la división para sacar el resto 335 00:14:12,210 --> 00:14:13,490 y estaríamos dividiendo por cero 336 00:14:13,490 --> 00:14:16,330 vale, pues una vez que hemos llegado 337 00:14:16,330 --> 00:14:17,429 a resto cero ya sacamos 338 00:14:17,429 --> 00:14:19,610 y el máximo común divisor, ¿cuál es? 339 00:14:19,929 --> 00:14:21,950 el último resto que no fue cero 340 00:14:21,950 --> 00:14:23,710 ¿Y ese dónde está guardado? En A, ¿verdad? 341 00:14:23,830 --> 00:14:25,789 Ese se ha quedado en A, el último grandote 342 00:14:25,789 --> 00:14:27,470 Entonces ahora ya 343 00:14:27,470 --> 00:14:30,049 Podríamos hacer esto y se acabó nuestra función 344 00:14:30,049 --> 00:14:34,320 Claro, el resto sería cero 345 00:14:34,320 --> 00:14:36,679 Y ya se ha quedado con el resto de la operación 346 00:14:36,679 --> 00:14:38,019 Anterior, la última que 347 00:14:38,019 --> 00:14:45,440 Vale, y ya está 348 00:14:45,440 --> 00:14:47,720 Es la manera más limpia de hacerlo 349 00:14:47,720 --> 00:14:49,720 Esto admite una expresión 350 00:14:49,720 --> 00:14:51,759 Recursiva, pero no vamos a meter con recursividad 351 00:14:51,759 --> 00:14:54,080 Por ahora, por lo menos no antes del examen 352 00:14:54,080 --> 00:15:00,250 Si no hago el examen te convierto en un flojo 353 00:15:00,250 --> 00:15:01,029 ¿Tú quieres ser un flojo? 354 00:15:01,029 --> 00:15:02,669 que ni te sabrá 355 00:15:02,669 --> 00:15:03,889 en el resto de tu vida, que no 356 00:15:03,889 --> 00:15:04,929 pues ya está 357 00:15:04,929 --> 00:15:10,169 tú quieres ser 358 00:15:10,169 --> 00:15:14,450 un triunfador 359 00:15:14,450 --> 00:15:16,070 querrás ser, no, pues ya está 360 00:15:16,070 --> 00:15:17,429 dime Jesús 361 00:15:17,429 --> 00:15:24,190 bueno, a ver, esto es solamente 362 00:15:24,190 --> 00:15:26,590 para hacer el intercambio de A y B 363 00:15:26,590 --> 00:15:28,029 si A fuera menor, es solo para eso 364 00:15:28,029 --> 00:15:30,350 con lo cual la variable auxiliar es local 365 00:15:30,350 --> 00:15:32,190 aquí a estas llaves porque no la quiero 366 00:15:32,190 --> 00:15:34,289 para nada, solo la quiero para hacer el intercambio 367 00:15:34,289 --> 00:15:35,850 esto 368 00:15:35,850 --> 00:15:38,210 Python como es más para tontos 369 00:15:38,210 --> 00:15:40,309 tiene una sentencia que haces esto 370 00:15:40,309 --> 00:15:42,029 y ya te hace el intercambio 371 00:15:42,029 --> 00:15:44,250 es muy espabilado, pero eso en Java 372 00:15:44,250 --> 00:15:44,769 no existe 373 00:15:44,769 --> 00:15:49,889 a ver, Java es un 374 00:15:49,889 --> 00:15:52,909 lenguaje para que las cosas funcionen 375 00:15:52,909 --> 00:15:54,750 Python es sobre todo 376 00:15:54,750 --> 00:15:56,590 para aprender, da mucha flexibilidad 377 00:15:56,590 --> 00:15:58,149 entonces para aprender a programar está muy bien 378 00:15:58,149 --> 00:15:59,730 pero como admite meter tanto 379 00:15:59,730 --> 00:16:02,549 pues las aplicaciones 380 00:16:02,549 --> 00:16:04,450 es muy fácil que casquen si no las has 381 00:16:04,450 --> 00:16:06,409 programado muy, muy, muy cuidadosamente. 382 00:16:07,610 --> 00:16:08,370 Java te pone muchas más 383 00:16:08,370 --> 00:16:10,190 restricciones, entonces cagarla es más difícil. 384 00:16:11,769 --> 00:16:12,669 Venga, pues ya está. 385 00:16:13,529 --> 00:16:14,690 Leemos los dos números. 386 00:16:17,129 --> 00:16:17,929 A ver si lo hemos 387 00:16:17,929 --> 00:16:18,710 programado bien. 388 00:16:32,159 --> 00:16:33,580 Y ya está. Y ahora mostramos 389 00:16:33,580 --> 00:16:38,480 el máximo común divisor de A y B. 390 00:16:38,879 --> 00:16:40,480 Y nos da igual que nos 391 00:16:40,480 --> 00:16:42,120 hayan dado primero el grande o luego 392 00:16:42,120 --> 00:16:44,139 nos da igual porque ya la función se encargará de 393 00:16:44,139 --> 00:16:46,000 cambiarlo para hacer su 394 00:16:46,000 --> 00:16:48,480 algoritmo, entonces si ejecutamos 395 00:16:48,480 --> 00:16:50,139 esto, pues si le ponemos 396 00:16:50,139 --> 00:16:52,240 primero a algunos de los que sabríamos el resultado 397 00:16:52,240 --> 00:16:54,220 pues el máximo común divisor 398 00:16:54,220 --> 00:16:55,720 de 6 y 12 399 00:16:55,720 --> 00:16:57,700 será 6, precisamente 400 00:16:57,700 --> 00:17:02,000 de 6 y 12 sería 6 401 00:17:02,000 --> 00:17:02,860 ¿verdad? 402 00:17:03,580 --> 00:17:03,799 sí 403 00:17:03,799 --> 00:17:13,900 o sea, has copiado bien esta vez 404 00:17:13,900 --> 00:17:17,859 y el máximo común divisor 405 00:17:17,859 --> 00:17:18,559 de estos dos 406 00:17:18,559 --> 00:17:20,700 pues es 407 00:17:20,700 --> 00:17:23,299 el 1, son primos 408 00:17:23,299 --> 00:17:23,779 entre sí 409 00:17:23,779 --> 00:17:27,039 el máximo condición que tienes 410 00:17:27,039 --> 00:17:29,079 es que 167 ya era raro, ¿verdad? 411 00:17:31,220 --> 00:17:33,039 vale, bueno, pues nada 412 00:17:33,039 --> 00:17:37,200 a ver, alguno 413 00:17:37,200 --> 00:17:38,779 de los ejercicios que teníamos 414 00:17:38,779 --> 00:17:40,200 es interesante 415 00:17:40,200 --> 00:17:42,220 es que no sé si ponéis alguno más gordo 416 00:17:42,220 --> 00:17:44,839 espera 417 00:17:44,839 --> 00:17:46,960 ¿ves? a que te has venido 418 00:17:46,960 --> 00:17:48,759 arriba y... vamos a hacer el 419 00:17:48,759 --> 00:17:49,900 4 de string 420 00:17:49,900 --> 00:17:57,880 Que dé tiempo, ya 421 00:17:57,880 --> 00:18:01,059 Vale, lo que pasa es que este es complicadete 422 00:18:01,059 --> 00:18:10,039 Sí, vamos a hacer uno de esos, ¿vale? 423 00:18:10,039 --> 00:18:23,680 Vale, es que estoy dudando 424 00:18:23,680 --> 00:18:24,940 Sobre si de cara al examen 425 00:18:24,940 --> 00:18:26,400 Igual mejor uno más fácil 426 00:18:26,400 --> 00:18:34,869 Venga, no, si vais a hacer vosotros solitos 427 00:18:34,869 --> 00:18:36,789 El 6, que el 4 es un poco complicado 428 00:18:36,789 --> 00:18:38,490 Empezamos con el 6, venga 429 00:18:39,549 --> 00:18:40,490 El 6 vosotros