<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wikidot="http://www.wikidot.com/rss-namespace">

	<channel>
		<title>CyM - debates nuevos en el foro</title>
		<link>http://cym.wikidot.com/forum/start</link>
		<description>Debates en los foros del sitio &quot;CyM&quot; - Torneo de Computación y Matemática</description>
				<copyright></copyright>
		<lastBuildDate>Fri, 17 Apr 2026 21:37:26 +0000</lastBuildDate>
		
					<item>
				<guid>http://cym.wikidot.com/forum/t-3753572</guid>
				<title>Comenzó el Desafío CyM 2017</title>
				<link>http://cym.wikidot.com/forum/t-3753572/comenzo-el-desafio-cym-2017</link>
				<description>Ya están disponibles los enunciados e instrucciones.</description>
				<pubDate>Tue, 26 Sep 2017 00:17:14 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>El <a href="http://www.oma.org.ar/nacional/cym/desafiocym.htm">Desafío CyM</a> es una <strong>competencia por Internet</strong> de resolución de problemas de matemática con la posibilidad de programar en computadora para ayudar a resolver los problemas. Es diferente del <a href="http://www.oma.org.ar/nacional/cym/">Torneo de Computación y Matemática</a> en varios aspectos.</p> <p>Ya están disponibles los <a href="http://www.oma.org.ar/nacional/cym/desafiocym.htm">enunciados e instrucciones</a>.</p> <p>Tenés tiempo de participar <strong>hasta el domingo 1 de octubre</strong>.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-1039576</guid>
				<title>Ronda Nacional de CyM 2014</title>
				<link>http://cym.wikidot.com/forum/t-1039576/ronda-nacional-de-cym-2014</link>
				<description>A punto de comenzar.</description>
				<pubDate>Tue, 14 Oct 2014 22:46:25 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>La Ronda Nacional del 17mo Torneo de Computación y Matemática, CyM 2014, está por comenzar. Desde mañana miércoles 15 de octubre, hasta el viernes, en la <a href="http://www.vaneduc.edu.ar/uai/">Universidad Abierta Interamericana</a>, Ciudad Autónoma de Buenos Aires. <a href="http://www.oma.org.ar/nacional/cym/#nacional">Detalles</a> en la <a href="http://www.oma.org.ar/nacional/cym/">página de CyM</a>.</p> <p>¡Mucha concentración!</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-1023919</guid>
				<title>Ronda Zonal de CyM 2014</title>
				<link>http://cym.wikidot.com/forum/t-1023919/ronda-zonal-de-cym-2014</link>
				<description>¡Es mañana!</description>
				<pubDate>Mon, 15 Sep 2014 22:07:54 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>La Ronda Zonal del 17mo Torneo de Computación y Matemática es mañana <strong>martes</strong> 16 de septiembre de 2014, de 14:00 a 17:00. Más información: como siempre en la página web de CyM, <a href="http://www.oma.org.ar/nacional/cym/">http://www.oma.org.ar/nacional/cym/</a></p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-993253</guid>
				<title>Ronda Intercolegial de CyM 2014</title>
				<link>http://cym.wikidot.com/forum/t-993253/ronda-intercolegial-de-cym-2014</link>
				<description>¡Es el próximo viernes!</description>
				<pubDate>Thu, 21 Aug 2014 12:07:13 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>¡CyM 2014 ya comenzó!</p> <p>La Ronda Intercolegial del 17mo Torneo de Computación y Matemática es el próximo viernes 22 de Agosto de 2014, de 14:00 a 17:00. Más información: como siempre en la página web de CyM, <a href="http://www.oma.org.ar/nacional/cym/">http://www.oma.org.ar/nacional/cym/</a></p> <p>Disfruten el Torneo. :-)</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-903631</guid>
				<title>C++ avanzado para olimpiadas</title>
				<link>http://cym.wikidot.com/forum/t-903631/c-avanzado-para-olimpiadas</link>
				<description>avanzamos un poco mas en el c++. Explicamos funciones, variables globales y locales, arrays, vectores, recursividad</description>
				<pubDate>Mon, 30 Jun 2014 02:41:56 +0000</pubDate>
				<wikidot:authorName>Newtonis penguin</wikidot:authorName>				<wikidot:authorUserId>1469664</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Este es el tutorial mas avanzado de c++ para olimpiadas. Si ya sabes c++ por ahi algunas cosas ya las conoces, si no sabes nada de c++ empeza por el tutorial basico en el otro tutorial.</p> <p>Al igual que en el tutorial anterior me presento soy Ariel Nowik 5to año de ort almagro capital federal (son 6 años en ort), participe 2 veces en cym.</p> <p>Al terminar el tutorial, tendras la teoria suficiente para resolver cualquier problema. (¡El resto son ideas!) Sin embargo, todo esto no es ni una minima parte del potencial total que el lenguaje c++ ofrece. Todos estos conocimientos además, no son solo validos para c++, si bien en en diferente forma, estan todos presentes en casi todos los lenguajes conocidos (python,php,java,javascript,c#,as3, y más). No obstante, los arrays de c++, segun mi experiencia solo los vi en c y c++ existir. (En los demas lenguajes se usan exclusivamente vectores en general)</p> <h2><span><strong>Funciones</strong></span></h2> <p>Una funcion es un conjunto de lineas de codigo archivados con un sobrenombre, que pueden ser llamadas todas en uno invocando al sobrenombre. Tiene dos caracteristicas fundamentales que son los valores de entrada a la funcion, que son variables del tipo correspondiente segun la funcion, pueden ser en cualquier cantidad y en cualquier tipo, con los que uno regula como quiere que la funcion ejecute los comandos, y uno o 0 valores de devolucion, que son los datos que la funcion nos da como respuesta y podemos almacenar en otra variable del tipo correspondiente. En tutoriales anteriores usamos funciones como pow(double a,double b), que era una funcion que se le entraba con valor a un double, como valor b un double y como resultado nos daba un double que era a elevado a la b, que podiamos almacenar en una variable de tipo double o int (aunque era redondeada si tenia coma al hacer esto).</p> <p>Una funcion se crea 2 veces en c++ para ser utilizada. El prototipo y la implementacion, el prototipo es solo que entra y que sale de la funcion expresado en una linea (las funcioens siempre se declaran afuera del int main()!!!), mientras que la implementacion es lo mismo que el prototipo, pero con los comandos que contiene. Debe hacerse un prototipo para que el compilador de c++ pueda entender el programa bien, no porque sea mejor o de algun beneficio, en muchos lenguajes no son nescesarios, en c++ si.</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-comment">//Prototipo</span><span class="hl-code"> </span><span class="hl-identifier">tipo_de_dato_de_devolucion</span><span class="hl-code"> </span><span class="hl-identifier">nombre_de_funcion</span><span class="hl-brackets">(</span><span class="hl-code"> </span><span class="hl-identifier">tipo_de_dato</span><span class="hl-code"> </span><span class="hl-identifier">dato_1</span><span class="hl-code"> , </span><span class="hl-identifier">tipo_de_de_dato</span><span class="hl-code"> </span><span class="hl-identifier">dato_2</span><span class="hl-code"> , ... </span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//Implementacion</span><span class="hl-code"> </span><span class="hl-identifier">tipo_de_dato_de_devolucion</span><span class="hl-code"> </span><span class="hl-identifier">nombre_de_funcion</span><span class="hl-brackets">(</span><span class="hl-code"> </span><span class="hl-identifier">tipo_de_dato</span><span class="hl-code"> </span><span class="hl-identifier">dato_1</span><span class="hl-code"> , </span><span class="hl-identifier">tipo_de_de_dato</span><span class="hl-code"> </span><span class="hl-identifier">dato_2</span><span class="hl-code"> , ... </span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//codigo</span><span class="hl-code"> </span><span class="hl-brackets">}</span></pre></div> </div> <p>Siempre los prototipos se escriben antes del int main(){}, los comandos del programa, y la implementacion despues del int main(){}, no hay una razon real porque sea asi, es solo para que el compilador del c++ pueda entenderlo bien.<br /> En la implementacion de la funcion, ademas de ejecutarse un codigo, debe tambien correrse el comando return seguido de una variable del tipo del dato que la funcion da como respuesta, como es la segunda caracteristica fundamental de la funcion que es el valor que la funcion dará como respuesta, cuando se corre el return la funcion termina inmediatamente y se da como resultado ese valor ignorando el codigo que pueda llegar a seguir. Hay una posiblidad de omitir ese return y es si la funcion devuelve 0 datos, que como dice arriba es posible. Para ese caso en vez de poner antes de hacer el prototipo y la implementacion un tipo de dato, se escribe simplemente void.<br /> Pasemos a la practica, ejemplo de una funcion</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">iostream</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdlib.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdio.h</span><span class="hl-quotes">&gt;</span><span class="hl-prepro"> //en linux para el getchar() solamente</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">math.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-reserved">using</span><span class="hl-code"> </span><span class="hl-types">namespace</span><span class="hl-code"> </span><span class="hl-identifier">std</span><span class="hl-code">; </span><span class="hl-mlcomment">/* Prototipo */</span><span class="hl-code"> </span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">hipotenusa_del_triangulo</span><span class="hl-brackets">(</span><span class="hl-code"> </span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">catetoA</span><span class="hl-code">, </span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">catetoB</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">h</span><span class="hl-code"> = </span><span class="hl-number">5</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">hipotenusa_del_triangulo</span><span class="hl-brackets">(</span><span class="hl-code"> </span><span class="hl-number">3.0</span><span class="hl-code"> , </span><span class="hl-number">4.0</span><span class="hl-code"> </span><span class="hl-brackets">)</span><span class="hl-code"> &lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code"> ; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">hipotenusa_del_triangulo</span><span class="hl-brackets">(</span><span class="hl-code"> </span><span class="hl-number">3.0</span><span class="hl-code"> , </span><span class="hl-number">5.0</span><span class="hl-code"> </span><span class="hl-brackets">)</span><span class="hl-code"> &lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code"> ; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">hipotenusa_del_triangulo</span><span class="hl-brackets">(</span><span class="hl-code"> </span><span class="hl-number">6.0</span><span class="hl-code"> , </span><span class="hl-number">8.0</span><span class="hl-code"> </span><span class="hl-brackets">)</span><span class="hl-code"> &lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code"> ; </span><span class="hl-identifier">system</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">pause</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-mlcomment">/* implementacion*/</span><span class="hl-code"> </span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">hipotenusa_del_triangulo</span><span class="hl-brackets">(</span><span class="hl-code"> </span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">catetoA</span><span class="hl-code">, </span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">catetoB</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">multA</span><span class="hl-code"> = </span><span class="hl-identifier">catetoA</span><span class="hl-code"> * </span><span class="hl-identifier">catetoA</span><span class="hl-code">; </span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">multB</span><span class="hl-code"> = </span><span class="hl-identifier">catetoB</span><span class="hl-code"> * </span><span class="hl-identifier">catetoB</span><span class="hl-code">; </span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">suma</span><span class="hl-code"> = </span><span class="hl-identifier">multA</span><span class="hl-code"> + </span><span class="hl-identifier">multB</span><span class="hl-code">; </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-identifier">sqrt</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-code"> </span><span class="hl-identifier">suma</span><span class="hl-code"> </span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//sqrt es la funcion de raiz cuadrada de math.h </span><span class="hl-code"> </span><span class="hl-brackets">}</span></pre></div> </div> <br /> SALIDA <div class="code"> <div class="hl-main"> <pre><span class="hl-number">5</span><span class="hl-code"> </span><span class="hl-number">5.83095</span><span class="hl-code"> </span><span class="hl-number">10</span><span class="hl-code"> </span><span class="hl-identifier">Presione</span><span class="hl-code"> </span><span class="hl-identifier">alguna</span><span class="hl-code"> </span><span class="hl-identifier">tecla</span><span class="hl-code"> </span><span class="hl-identifier">para</span><span class="hl-code"> </span><span class="hl-identifier">continuar</span><span class="hl-code"> ...</span></pre></div> </div> <br /> El beneficio de usar funciones es que podes ejecutar varias veces el mismo codigo escribiendo menos, como se ve en el ejemplo la hipotenusa de un triangulo de catetos 3 y 4 es 5, la de uno con 3 y 5 es 5.8 y la de uno con<br /> 6 y 8 es 10. Si no lo conoces la formula de la hipotenusa de triangulos rectangulos es la raiz cuadrada de la suma de cada cateto elevado al cuadrado, o sea multiplicado por si mismo. Cabe resaltar que la funcion creada, hipotenusa_del_triangulo solo tiene acceso a las variables que hayan sido reservadas (=creadas) dentro del contenido de las llaves de la funcion, no puede acceder a ninguna variable fuera de ese mundo, por ejemplo, no puede leer la variable h. Asimismo la funcion main tampoco puede leer las variables de hipotenusa_del_triangulo, como multA,multB y suma. Todas estas variables que fueron las que usamos en los tutoriales son locales, solo se pueden leer y escribir en el conjunto de llaves local. El proximo tema que veremos seran las variables globales, que, en contraste con las locales, pueden ser leidas y modificadas en cualquier lugar del programa, tanto en el int main(){} como en cualquier funcion. Esto justificaria por ejemplo que una funcion no devuelva nada y sea void a veces. Hay una discusion sobre si las variables globales son correctas usarlas. En estos programas de olimpiadas que no llegan a la complejidad extrema de proyectos gigantes, no habra problemas en usarlas y serviran para simplificar programas en muchos casos. <h2><span><strong>Variables locales y globales</strong></span></h2> <p>En c++ hasta ahora vimos asignacion de variables a un tipo. Hasta ahora, todas las que vimos las creamos de manera local, es decir, solo podian ser leidas y escritas en codigo dentro de las {} donde fue asignada. Es decir, por ejemplo desde las funciones no podian ser accedidas. Las variables globales se pueden leer y escribir a lo largo de todo el programa cuando se desee. Ejemplo</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">iostream</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdlib.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdio.h</span><span class="hl-quotes">&gt;</span><span class="hl-prepro"> //en linux para el getchar() solamente</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">math.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-reserved">using</span><span class="hl-code"> </span><span class="hl-types">namespace</span><span class="hl-code"> </span><span class="hl-identifier">std</span><span class="hl-code">; </span><span class="hl-mlcomment">/*Creamos una variable global*/</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">variable_global</span><span class="hl-code"> = </span><span class="hl-number">5</span><span class="hl-code">; </span><span class="hl-mlcomment">/* Prototipo */</span><span class="hl-code"> </span><span class="hl-types">void</span><span class="hl-code"> </span><span class="hl-identifier">funcion_sumar</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">variable_local</span><span class="hl-code"> = </span><span class="hl-number">5</span><span class="hl-code">; </span><span class="hl-mlcomment">/* variable local */</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">x</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">x</span><span class="hl-code"> &lt; </span><span class="hl-number">5</span><span class="hl-code">;</span><span class="hl-identifier">x</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">funcion_sumar</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">variable_global</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">variable_local</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">system</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">pause</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-mlcomment">/* implementacion */</span><span class="hl-code"> </span><span class="hl-types">void</span><span class="hl-code"> </span><span class="hl-identifier">funcion_sumar</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">variable_local</span><span class="hl-code"> = </span><span class="hl-number">5</span><span class="hl-code">; </span><span class="hl-identifier">variable_local</span><span class="hl-code"> ++; </span><span class="hl-identifier">variable_global</span><span class="hl-code"> += </span><span class="hl-number">1</span><span class="hl-code">; </span><span class="hl-brackets">}</span></pre></div> </div> <br /> SALIDA <div class="code"> <div class="hl-main"> <pre><span class="hl-number">10</span><span class="hl-code"> </span><span class="hl-number">5</span><span class="hl-code"> </span><span class="hl-identifier">Presione</span><span class="hl-code"> </span><span class="hl-identifier">alguna</span><span class="hl-code"> </span><span class="hl-identifier">tecla</span><span class="hl-code"> </span><span class="hl-identifier">para</span><span class="hl-code"> </span><span class="hl-identifier">continuar</span><span class="hl-code"> ...</span></pre></div> </div> <p>Como vemos las variables globales se crean siempre antes de todo, antes de los protipos de las funciones. Como el objetivo de nuestra funcion es editar una variable global, tiene sentido hacer que no devuelva valores, con void. Con este programa se deberia notar la diferencia entre variables locales y globales.</p> <h2><span><strong>Arrays</strong></span></h2> <p>ahora aprenderemos un nuevo de estructura de c++. Imaginemos que queremos almacenar en un programa 100 numeros. ¿creamos 100 ints? por supuesto que no, se hace muy largo. C++ nos ofrece un tipo de dato array que sirve para hacer listas de datos con tamaño fijo (no se pueden agregar mas valores a la lista en el transcurso del programa).</p> <p>Para crear un array (=reservar espacio en la memoria para el array) se escribe</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-identifier">tipo_de_dato</span><span class="hl-code"> </span><span class="hl-identifier">nombre_array</span><span class="hl-brackets">[</span><span class="hl-identifier">cantidad_de_valores</span><span class="hl-brackets">]</span><span class="hl-code">;</span></pre></div> </div> <br /> ejemplo: <div class="code"> <div class="hl-main"> <pre><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">lista</span><span class="hl-brackets">[</span><span class="hl-number">100</span><span class="hl-brackets">]</span><span class="hl-code">;</span></pre></div> </div> <br /> Con lo quie tenemos una lista con 100 valores tipo int. ¿Como leemos/escribimos estos valores?<br /> escribiendo el_nombre_del_array[numero_de_variable_a_leer], donde numero_de_variable_a_leer es una variable entera que va de 0 a la longitud del array menos 1, en este caso 100. por ejemplo con un array de longitud 4, tenemos 4 valores a modificar o leer,<br /> el valor 0, el 1, el 2, y el 3. <p>Ejemplo arrays:</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">iostream</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdlib.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdio.h</span><span class="hl-quotes">&gt;</span><span class="hl-prepro"> //en linux para el getchar() solamente</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">math.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-reserved">using</span><span class="hl-code"> </span><span class="hl-types">namespace</span><span class="hl-code"> </span><span class="hl-identifier">std</span><span class="hl-code">; </span><span class="hl-mlcomment">/*Creamos un array global*/</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">array_global</span><span class="hl-brackets">[</span><span class="hl-number">5</span><span class="hl-brackets">]</span><span class="hl-code">; </span><span class="hl-mlcomment">/* Prototipo */</span><span class="hl-code"> </span><span class="hl-types">void</span><span class="hl-code"> </span><span class="hl-identifier">mostrar_array_global</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-mlcomment">/*creamos un array local*/</span><span class="hl-code"> </span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">array_local</span><span class="hl-brackets">[</span><span class="hl-number">3</span><span class="hl-brackets">]</span><span class="hl-code">; </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">v</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">v</span><span class="hl-code"> &lt; </span><span class="hl-number">3</span><span class="hl-code">;</span><span class="hl-identifier">v</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">array_local</span><span class="hl-brackets">[</span><span class="hl-identifier">v</span><span class="hl-brackets">]</span><span class="hl-code"> = </span><span class="hl-number">2</span><span class="hl-code">-</span><span class="hl-identifier">v</span><span class="hl-code">; </span><span class="hl-identifier">array_local</span><span class="hl-brackets">[</span><span class="hl-identifier">v</span><span class="hl-brackets">]</span><span class="hl-code"> ++; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">x</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">x</span><span class="hl-code"> &lt; </span><span class="hl-number">5</span><span class="hl-code">;</span><span class="hl-identifier">x</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">array_global</span><span class="hl-brackets">[</span><span class="hl-identifier">x</span><span class="hl-brackets">]</span><span class="hl-code"> = </span><span class="hl-identifier">x</span><span class="hl-code"> * </span><span class="hl-number">2</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">j</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">j</span><span class="hl-code"> &lt; </span><span class="hl-number">3</span><span class="hl-code">;</span><span class="hl-identifier">j</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt; </span><span class="hl-identifier">array_local</span><span class="hl-brackets">[</span><span class="hl-identifier">j</span><span class="hl-brackets">]</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-identifier">mostrar_array_global</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-identifier">system</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">pause</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-mlcomment">/* implementacion */</span><span class="hl-code"> </span><span class="hl-types">void</span><span class="hl-code"> </span><span class="hl-identifier">mostrar_array_global</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">Array global:</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">w</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">w</span><span class="hl-code"> &lt; </span><span class="hl-number">5</span><span class="hl-code">;</span><span class="hl-identifier">w</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">array_global</span><span class="hl-brackets">[</span><span class="hl-identifier">w</span><span class="hl-brackets">]</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span></pre></div> </div> <br /> SALIDA <div class="code"> <div class="hl-main"> <pre><span class="hl-number">3</span><span class="hl-code"> </span><span class="hl-number">2</span><span class="hl-code"> </span><span class="hl-number">1</span><span class="hl-code"> </span><span class="hl-identifier">Array</span><span class="hl-code"> </span><span class="hl-identifier">global</span><span class="hl-code">: </span><span class="hl-number">0</span><span class="hl-code"> </span><span class="hl-number">2</span><span class="hl-code"> </span><span class="hl-number">4</span><span class="hl-code"> </span><span class="hl-number">6</span><span class="hl-code"> </span><span class="hl-number">8</span><span class="hl-code"> </span><span class="hl-identifier">Presione</span><span class="hl-code"> </span><span class="hl-identifier">una</span><span class="hl-code"> </span><span class="hl-identifier">tecla</span><span class="hl-code"> </span><span class="hl-identifier">para</span><span class="hl-code"> </span><span class="hl-identifier">continuar</span><span class="hl-code"> . . .</span></pre></div> </div> <p>Como vemos creamos dos arrays, uno como variable local y uno como variable global. Al local le damos una longitud de 3. Luego en el primer for hacemos que el valor de cada item del array (que van del 0 al 2), y le aseigamos de valor 2-v y al item luego le sumamos 1. Para el indice 0 del array tenemos 2-0 + 1 = 3, para el segundo 2 - 1 + 1 = 2, y para el tercero 2 - 2 + 1 = 1 Por eso se muestra 3, 2 y 1. Para el array reservado (=creado) como variable global, le damos a cada uno de sus items, el valor de x*2, es decir el numero de indice * 2, entonces el item 0 del array tiene 0, el item 1 del array tiene 2, el item 2 tiene 6 y el item 8. Son 5 items del 0 al 5 como corresponde.<br /> Con todo esto se deberia entender el funcionamiento de los arrays. Los arrays no son solo para ints, tambien sirven para double, string o cualquier otro tipo al igual que las funciones.</p> <h2><span><strong>Vectores</strong></span></h2> <p>Imaginemos que tenemos una cantidad de datos, pero, la cantidad de datos no esta definida. En tal caso se recurre a los vectores, que funcionan de la misma manera que los arrays, pero, su longitud puede variar mientras corre el programa. Uno tambien puede usar siempre vectores en vez de arrays, pero si uno solo usa arrays, la cantidad de memoria que utilizara el programa es fija y esta asegurado, en cambio con vectores, uno no sabe cuanta memoria (cantidad de variables) puede llegar a usar el programa. Para usar vectores se debe agregar al principio del programa, y el using namespace std debe estar tambien. En los vectores uno crea primero una lista de valores vacia, y le va agregando/eliminado valores y al mismo tiempo se leen cuando se desea. Ahora haremos una descripcion de las operaciones sobre vectorse que c++ nos ofrece. En c puro no hay vectores ni tampoco cout por lo tanto hay que asegurase que se guarda el archivo como .cpp</p> <p>Un vector se crea como</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-identifier">tipo_de_datos</span><span class="hl-code"> </span><span class="hl-identifier">a</span><span class="hl-code"> </span><span class="hl-identifier">almacenar</span><span class="hl-code">&gt; </span><span class="hl-identifier">nombre_vector</span><span class="hl-code">;</span></pre></div> </div> <p>Para acceder a un dato de un vector se hace igual que con los arrays</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-identifier">nombre_vector</span><span class="hl-brackets">[</span><span class="hl-identifier">numero_de_dato</span><span class="hl-brackets">]</span><span class="hl-code"> = </span><span class="hl-identifier">algo</span><span class="hl-code">; </span><span class="hl-identifier">o</span><span class="hl-code"> </span><span class="hl-identifier">algo</span><span class="hl-code"> = </span><span class="hl-identifier">nombre_vector</span><span class="hl-brackets">[</span><span class="hl-identifier">numero_de_dato</span><span class="hl-brackets">]</span></pre></div> </div> <br /> pero cuidado, si accedemos a un numero_de_dato que no existe (mayor a la longitud), el programa en ese punto se cerrara. Si se debugea se puede ver en que punto crasheo sino no. De todas formas con un uso correcto de vectores no crasheara. <p>Para agregarle un valor al vector</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-identifier">nombre_vector</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-code"> </span><span class="hl-identifier">dato</span><span class="hl-code"> </span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//dato tiene que ser del tipo_de_datos_a_almacenar del vector</span></pre></div> </div> <p>Para eliminarle al vector un dato</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-identifier">nombre_vector</span><span class="hl-code">.</span><span class="hl-identifier">erase</span><span class="hl-brackets">(</span><span class="hl-code"> </span><span class="hl-identifier">nombre_vector</span><span class="hl-code">.</span><span class="hl-identifier">begin</span><span class="hl-brackets">()</span><span class="hl-code"> + </span><span class="hl-identifier">numero_de_dato</span><span class="hl-brackets">)</span><span class="hl-code">;</span></pre></div> </div> <p>Para borrar el ultimo dato del vector</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-identifier">nombre_vector</span><span class="hl-code">.</span><span class="hl-identifier">pop_back</span><span class="hl-brackets">()</span><span class="hl-code">;</span></pre></div> </div> <p>Para leer el ultimo/Primer valor de un vector</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-identifier">variable</span><span class="hl-code"> = </span><span class="hl-identifier">nombre_vector</span><span class="hl-code">.</span><span class="hl-identifier">back</span><span class="hl-brackets">()</span><span class="hl-code"> </span><span class="hl-comment">//ultimo valor</span><span class="hl-code"> </span><span class="hl-identifier">variable2</span><span class="hl-code"> = </span><span class="hl-identifier">nombre_vector</span><span class="hl-code">.</span><span class="hl-identifier">front</span><span class="hl-brackets">()</span><span class="hl-code"> </span><span class="hl-comment">//primer valor</span><span class="hl-code"> </span><span class="hl-comment">//variable y variable2 son del tipo del vector</span></pre></div> </div> <p>Para leer la longitud de un vector</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-identifier">tamanio</span><span class="hl-code"> = </span><span class="hl-identifier">nombre_vector</span><span class="hl-code">.</span><span class="hl-identifier">size</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-comment">//tamanio es un int.</span></pre></div> </div> <p>Para eleminar todos los valores de un vector</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-identifier">nombre_vector</span><span class="hl-code">.</span><span class="hl-identifier">clear</span><span class="hl-brackets">()</span><span class="hl-code">;</span></pre></div> </div> <p>Y hay muchas mas funciones, en la pagina del c++ estan todas.</p> <p>Ahora veremos un ejemplo donde calculamos los numeros primos del 2 al 50, y los compuestos. Mostramos primeros los primos y luego los compuestos. Ambos conjuntos los almacenamos en dos vectores</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">iostream</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdlib.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdio.h</span><span class="hl-quotes">&gt;</span><span class="hl-prepro"> //en linux para el getchar() solamente</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">vector</span><span class="hl-quotes">&gt;</span><span class="hl-prepro"> //usaremos vectores!</span><span class="hl-code"> </span><span class="hl-reserved">using</span><span class="hl-code"> </span><span class="hl-types">namespace</span><span class="hl-code"> </span><span class="hl-identifier">std</span><span class="hl-code">; </span><span class="hl-comment">//En este programa vamos a hacer un vector donde almacenaremos los numeros primos del 1 al 100. y uno de los que no son primos</span><span class="hl-code"> </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">numeros_primos</span><span class="hl-code">; </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">numeros_compuestos</span><span class="hl-code">; </span><span class="hl-types">bool</span><span class="hl-code"> </span><span class="hl-identifier">es_primo</span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">numero</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//Funcion para revisar si un numero es primo, devuelve 1 si es cierto, 0 si no lo es</span><span class="hl-code"> </span><span class="hl-types">void</span><span class="hl-code"> </span><span class="hl-identifier">mostrar_numeros_primos</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-comment">//Funcion que nos muestra el contenido del vector de primos en un momento determinado del programa</span><span class="hl-code"> </span><span class="hl-types">void</span><span class="hl-code"> </span><span class="hl-identifier">mostrar_numeros_compuestos</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-comment">//Funcion que nos muestra el contenido del vector de compuestos en un momento determinado del programa</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">n</span><span class="hl-code"> = </span><span class="hl-number">2</span><span class="hl-code">;</span><span class="hl-identifier">n</span><span class="hl-code"> &lt; </span><span class="hl-number">50</span><span class="hl-code">;</span><span class="hl-identifier">n</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-types">bool</span><span class="hl-code"> </span><span class="hl-identifier">primo</span><span class="hl-code"> = </span><span class="hl-identifier">es_primo</span><span class="hl-brackets">(</span><span class="hl-identifier">n</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">primo</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">numeros_primos</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-code"> </span><span class="hl-identifier">n</span><span class="hl-code"> </span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{</span><span class="hl-code"> </span><span class="hl-identifier">numeros_compuestos</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-code"> </span><span class="hl-identifier">n</span><span class="hl-code"> </span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-comment">//mostramos los vectores</span><span class="hl-code"> </span><span class="hl-identifier">mostrar_numeros_primos</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-identifier">mostrar_numeros_compuestos</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-identifier">system</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">pause</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//en linux es cout&lt;&lt;&quot;Presione una tecla para continuar ...&quot;&lt;&lt;endl; while (getchar() != '\n'){};</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-types">bool</span><span class="hl-code"> </span><span class="hl-identifier">es_primo</span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">numero</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//Esta funcion no tiene eficiencia maxima para no complicar, pero hay varias cosas que se pueden hacer para reducir el tiempo que demora</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">divido</span><span class="hl-code"> = </span><span class="hl-number">2</span><span class="hl-code">;</span><span class="hl-identifier">divido</span><span class="hl-code"> &lt; </span><span class="hl-identifier">numero</span><span class="hl-code">;</span><span class="hl-identifier">divido</span><span class="hl-code"> ++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">numero</span><span class="hl-code"> % </span><span class="hl-identifier">divido</span><span class="hl-code"> == </span><span class="hl-number">0</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-reserved">false</span><span class="hl-code">; </span><span class="hl-comment">//no es primo, se puede dividir por un numero != 1 y != a numero</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-reserved">true</span><span class="hl-code">; </span><span class="hl-comment">//si es primo</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-types">void</span><span class="hl-code"> </span><span class="hl-identifier">mostrar_numeros_primos</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">Numeros primos :</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">v</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">v</span><span class="hl-code"> &lt; </span><span class="hl-identifier">numeros_primos</span><span class="hl-code">.</span><span class="hl-identifier">size</span><span class="hl-brackets">()</span><span class="hl-code">;</span><span class="hl-identifier">v</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//recorro todos los valores del vector, de 0 a el .size() del vector, es decir, su ultimo valor+1</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">numeros_primos</span><span class="hl-brackets">[</span><span class="hl-identifier">v</span><span class="hl-brackets">]</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-types">void</span><span class="hl-code"> </span><span class="hl-identifier">mostrar_numeros_compuestos</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">Numeros compuestos :</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">v</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">v</span><span class="hl-code"> &lt; </span><span class="hl-identifier">numeros_compuestos</span><span class="hl-code">.</span><span class="hl-identifier">size</span><span class="hl-brackets">()</span><span class="hl-code">;</span><span class="hl-identifier">v</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//recorro todos los valores del vector, de 0 a el .size() del vector, es decir, su ultimo valor+1</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">numeros_compuestos</span><span class="hl-brackets">[</span><span class="hl-identifier">v</span><span class="hl-brackets">]</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span></pre></div> </div> <p>SALIDA:</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-identifier">Numeros</span><span class="hl-code"> </span><span class="hl-identifier">primos</span><span class="hl-code"> : </span><span class="hl-number">2</span><span class="hl-code"> </span><span class="hl-number">3</span><span class="hl-code"> </span><span class="hl-number">5</span><span class="hl-code"> </span><span class="hl-number">7</span><span class="hl-code"> </span><span class="hl-number">11</span><span class="hl-code"> </span><span class="hl-number">13</span><span class="hl-code"> </span><span class="hl-number">17</span><span class="hl-code"> </span><span class="hl-number">19</span><span class="hl-code"> </span><span class="hl-number">23</span><span class="hl-code"> </span><span class="hl-number">29</span><span class="hl-code"> </span><span class="hl-number">31</span><span class="hl-code"> </span><span class="hl-number">37</span><span class="hl-code"> </span><span class="hl-number">41</span><span class="hl-code"> </span><span class="hl-number">43</span><span class="hl-code"> </span><span class="hl-number">47</span><span class="hl-code"> </span><span class="hl-identifier">Numeros</span><span class="hl-code"> </span><span class="hl-identifier">compuestos</span><span class="hl-code"> : </span><span class="hl-number">4</span><span class="hl-code"> </span><span class="hl-number">6</span><span class="hl-code"> </span><span class="hl-number">8</span><span class="hl-code"> </span><span class="hl-number">9</span><span class="hl-code"> </span><span class="hl-number">10</span><span class="hl-code"> </span><span class="hl-number">12</span><span class="hl-code"> </span><span class="hl-number">14</span><span class="hl-code"> </span><span class="hl-number">15</span><span class="hl-code"> </span><span class="hl-number">16</span><span class="hl-code"> </span><span class="hl-number">18</span><span class="hl-code"> </span><span class="hl-number">20</span><span class="hl-code"> </span><span class="hl-number">21</span><span class="hl-code"> </span><span class="hl-number">22</span><span class="hl-code"> </span><span class="hl-number">24</span><span class="hl-code"> </span><span class="hl-number">25</span><span class="hl-code"> </span><span class="hl-number">26</span><span class="hl-code"> </span><span class="hl-number">27</span><span class="hl-code"> </span><span class="hl-number">28</span><span class="hl-code"> </span><span class="hl-number">30</span><span class="hl-code"> </span><span class="hl-number">32</span><span class="hl-code"> </span><span class="hl-number">33</span><span class="hl-code"> </span><span class="hl-number">34</span><span class="hl-code"> </span><span class="hl-number">35</span><span class="hl-code"> </span><span class="hl-number">36</span><span class="hl-code"> </span><span class="hl-number">38</span><span class="hl-code"> </span><span class="hl-number">39</span><span class="hl-code"> </span><span class="hl-number">40</span><span class="hl-code"> </span><span class="hl-number">42</span><span class="hl-code"> </span><span class="hl-number">44</span><span class="hl-code"> </span><span class="hl-number">45</span><span class="hl-code"> </span><span class="hl-number">46</span><span class="hl-code"> </span><span class="hl-number">48</span><span class="hl-code"> </span><span class="hl-number">49</span><span class="hl-code"> </span><span class="hl-identifier">Presione</span><span class="hl-code"> </span><span class="hl-identifier">una</span><span class="hl-code"> </span><span class="hl-identifier">tecla</span><span class="hl-code"> </span><span class="hl-identifier">para</span><span class="hl-code"> </span><span class="hl-identifier">continuar</span><span class="hl-code"> ...</span></pre></div> </div> <h2><span><strong>Matrices</strong></span></h2> <p>Imaginemos que queremos guardar un tablero de ajedrez en la memoria. Un array es una lista de valores, pero en una sola dimension, por lo tanto no nos sirve. Con las matrices, que en realidad son arrays de arrays podemos armar tablas de valores. Usando la misma logica tambien podemos hacer matrices de tres dimensiones, cuatro, cinco e infinito, usando la imaginacion, pero por ahora solo trabajaremos con matrices de 2 dimesiones.</p> <p>¿Como creamos (=reservamos espacio en la memoria) para una matriz?</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-identifier">tipo_de_dato</span><span class="hl-code"> </span><span class="hl-identifier">nombre_de_matriz</span><span class="hl-brackets">[</span><span class="hl-identifier">ancho</span><span class="hl-brackets">][</span><span class="hl-identifier">alto</span><span class="hl-brackets">]</span><span class="hl-code">; </span><span class="hl-comment">//creamos matriz</span></pre></div> </div> <p>¿Como accedemos y/o editamos un valor de la matriz bidimensional (=de dos dimensiones)?</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-identifier">nombre_de_matriz</span><span class="hl-brackets">[</span><span class="hl-identifier">columna</span><span class="hl-brackets">][</span><span class="hl-identifier">fila</span><span class="hl-brackets">]</span><span class="hl-code">; </span><span class="hl-comment">//este valor podemos o leerlo o escribirlo como querramos, de la misma forma que con los arrays de antes.</span></pre></div> </div> <p>Ahora vemos un ejemplo donde almacenaremos una tabla de multiplicar clasica.</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">iostream</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdlib.h</span><span class="hl-quotes">&gt;</span><span class="hl-prepro"> //para el system(</span><span class="hl-quotes">&quot;</span><span class="hl-string">pause</span><span class="hl-quotes">&quot;</span><span class="hl-prepro">);</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdio.h</span><span class="hl-quotes">&gt;</span><span class="hl-prepro"> //en linux para getchar()</span><span class="hl-code"> </span><span class="hl-reserved">using</span><span class="hl-code"> </span><span class="hl-types">namespace</span><span class="hl-code"> </span><span class="hl-identifier">std</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">mapa</span><span class="hl-brackets">[</span><span class="hl-number">11</span><span class="hl-brackets">][</span><span class="hl-number">11</span><span class="hl-brackets">]</span><span class="hl-code">; </span><span class="hl-comment">//creamos una matriz de 11x11, ya que la tabla de multiplicar va del 0 al 10, que son 0 1 2 3 4 5 6 7 8 9 10, que son 11 numeros contando el 0</span><span class="hl-code"> </span><span class="hl-mlcomment">/* Prototipo */</span><span class="hl-code"> </span><span class="hl-types">void</span><span class="hl-code"> </span><span class="hl-identifier">mostrar_mapa</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">argc</span><span class="hl-code">, </span><span class="hl-types">char</span><span class="hl-code">** </span><span class="hl-identifier">argv</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">columna</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">columna</span><span class="hl-code"> &lt; </span><span class="hl-number">11</span><span class="hl-code">;</span><span class="hl-identifier">columna</span><span class="hl-code"> ++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//recorro desde la columna 0 hasta la columna 10 incluyendo</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">fila</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">fila</span><span class="hl-code"> &lt; </span><span class="hl-number">11</span><span class="hl-code">;</span><span class="hl-identifier">fila</span><span class="hl-code"> ++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//por cada columna calculo el valor de la celda de la tabla, siempre es (por la definicion de la tabla de multiplicar), fila * columna.</span><span class="hl-code"> </span><span class="hl-identifier">mapa</span><span class="hl-code"> </span><span class="hl-brackets">[</span><span class="hl-code"> </span><span class="hl-identifier">columna</span><span class="hl-code"> </span><span class="hl-brackets">]</span><span class="hl-code"> </span><span class="hl-brackets">[</span><span class="hl-code"> </span><span class="hl-identifier">fila</span><span class="hl-code"> </span><span class="hl-brackets">]</span><span class="hl-code"> = </span><span class="hl-identifier">columna</span><span class="hl-code"> * </span><span class="hl-identifier">fila</span><span class="hl-code">; </span><span class="hl-comment">//asigno el valor de la columna columna, fila fila, el valor de fila*columna, eso entonces a cada celda particular de la tabla</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-identifier">mostrar_mapa</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-comment">//mostramos la tabla generada</span><span class="hl-code"> </span><span class="hl-identifier">system</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">pause</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-mlcomment">/* Implementacion */</span><span class="hl-code"> </span><span class="hl-types">void</span><span class="hl-code"> </span><span class="hl-identifier">mostrar_mapa</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">fila</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">fila</span><span class="hl-code"> &lt; </span><span class="hl-number">11</span><span class="hl-code">;</span><span class="hl-identifier">fila</span><span class="hl-code"> ++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//por cada fila</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">columna</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">columna</span><span class="hl-code"> &lt; </span><span class="hl-number">11</span><span class="hl-code">;</span><span class="hl-identifier">columna</span><span class="hl-code"> ++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//por cada columna de cada fila</span><span class="hl-code"> </span><span class="hl-types">bool</span><span class="hl-code"> </span><span class="hl-identifier">menor_100</span><span class="hl-code"> = </span><span class="hl-identifier">mapa</span><span class="hl-brackets">[</span><span class="hl-code"> </span><span class="hl-identifier">columna</span><span class="hl-code"> </span><span class="hl-brackets">][</span><span class="hl-code"> </span><span class="hl-identifier">fila</span><span class="hl-code"> </span><span class="hl-brackets">]</span><span class="hl-code"> &lt; </span><span class="hl-number">100</span><span class="hl-code">; </span><span class="hl-comment">//guardo si es menor a 100 su valor</span><span class="hl-code"> </span><span class="hl-types">bool</span><span class="hl-code"> </span><span class="hl-identifier">menor_10</span><span class="hl-code"> = </span><span class="hl-identifier">mapa</span><span class="hl-brackets">[</span><span class="hl-code"> </span><span class="hl-identifier">columna</span><span class="hl-code"> </span><span class="hl-brackets">][</span><span class="hl-code"> </span><span class="hl-identifier">fila</span><span class="hl-code"> </span><span class="hl-brackets">]</span><span class="hl-code"> &lt; </span><span class="hl-number">10</span><span class="hl-code">; </span><span class="hl-comment">//guardo si es menor a 10 su valor</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">menor_10</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//para visualizar mejor si es menor a 10, agregamos dos espacios ( ej: estos 3 valores ocupan el mismo espacio 3 ,33 ,333 )</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt; </span><span class="hl-identifier">mapa</span><span class="hl-brackets">[</span><span class="hl-code"> </span><span class="hl-identifier">columna</span><span class="hl-code"> </span><span class="hl-brackets">][</span><span class="hl-code"> </span><span class="hl-identifier">fila</span><span class="hl-code"> </span><span class="hl-brackets">]</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string"> </span><span class="hl-quotes">&quot;</span><span class="hl-code">; </span><span class="hl-comment">//esto me imprime el valor de mapa[ columna ][ fila ] sumado a dos espacios (sin saltar de a la proxima linea en el proximo cout)</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">menor_100</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//si es mejor a 100 agregamos solo un espacio (gastamos dos numeros, agregamos un solo espacio)</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt; </span><span class="hl-identifier">mapa</span><span class="hl-brackets">[</span><span class="hl-code"> </span><span class="hl-identifier">columna</span><span class="hl-code"> </span><span class="hl-brackets">][</span><span class="hl-code"> </span><span class="hl-identifier">fila</span><span class="hl-code"> </span><span class="hl-brackets">]</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string"> </span><span class="hl-quotes">&quot;</span><span class="hl-code">; </span><span class="hl-comment">//esto me imprime el valor de mapa[ columna ][ fila ] sumado a un espacio (sin saltar de a la proxima linea en el proximo cout)</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{</span><span class="hl-code"> </span><span class="hl-comment">//si es mayor o igual a 100 (3 cifras), no agregamos espacios</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt; </span><span class="hl-identifier">mapa</span><span class="hl-brackets">[</span><span class="hl-code"> </span><span class="hl-identifier">columna</span><span class="hl-code"> </span><span class="hl-brackets">][</span><span class="hl-code"> </span><span class="hl-identifier">fila</span><span class="hl-code"> </span><span class="hl-brackets">]</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-comment">//notar que como no usamos endl, el contenido se escribe todo en la misma linea</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-comment">//pasamos a la proxima linea de escritura</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span></pre></div> </div> <p>SALIDA</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-number">0</span><span class="hl-code"> </span><span class="hl-number">0</span><span class="hl-code"> </span><span class="hl-number">0</span><span class="hl-code"> </span><span class="hl-number">0</span><span class="hl-code"> </span><span class="hl-number">0</span><span class="hl-code"> </span><span class="hl-number">0</span><span class="hl-code"> </span><span class="hl-number">0</span><span class="hl-code"> </span><span class="hl-number">0</span><span class="hl-code"> </span><span class="hl-number">0</span><span class="hl-code"> </span><span class="hl-number">0</span><span class="hl-code"> </span><span class="hl-number">0</span><span class="hl-code"> </span><span class="hl-number">0</span><span class="hl-code"> </span><span class="hl-number">1</span><span class="hl-code"> </span><span class="hl-number">2</span><span class="hl-code"> </span><span class="hl-number">3</span><span class="hl-code"> </span><span class="hl-number">4</span><span class="hl-code"> </span><span class="hl-number">5</span><span class="hl-code"> </span><span class="hl-number">6</span><span class="hl-code"> </span><span class="hl-number">7</span><span class="hl-code"> </span><span class="hl-number">8</span><span class="hl-code"> </span><span class="hl-number">9</span><span class="hl-code"> </span><span class="hl-number">10</span><span class="hl-code"> </span><span class="hl-number">0</span><span class="hl-code"> </span><span class="hl-number">2</span><span class="hl-code"> </span><span class="hl-number">4</span><span class="hl-code"> </span><span class="hl-number">6</span><span class="hl-code"> </span><span class="hl-number">8</span><span class="hl-code"> </span><span class="hl-number">10</span><span class="hl-code"> </span><span class="hl-number">12</span><span class="hl-code"> </span><span class="hl-number">14</span><span class="hl-code"> </span><span class="hl-number">16</span><span class="hl-code"> </span><span class="hl-number">18</span><span class="hl-code"> </span><span class="hl-number">20</span><span class="hl-code"> </span><span class="hl-number">0</span><span class="hl-code"> </span><span class="hl-number">3</span><span class="hl-code"> </span><span class="hl-number">6</span><span class="hl-code"> </span><span class="hl-number">9</span><span class="hl-code"> </span><span class="hl-number">12</span><span class="hl-code"> </span><span class="hl-number">15</span><span class="hl-code"> </span><span class="hl-number">18</span><span class="hl-code"> </span><span class="hl-number">21</span><span class="hl-code"> </span><span class="hl-number">24</span><span class="hl-code"> </span><span class="hl-number">27</span><span class="hl-code"> </span><span class="hl-number">30</span><span class="hl-code"> </span><span class="hl-number">0</span><span class="hl-code"> </span><span class="hl-number">4</span><span class="hl-code"> </span><span class="hl-number">8</span><span class="hl-code"> </span><span class="hl-number">12</span><span class="hl-code"> </span><span class="hl-number">16</span><span class="hl-code"> </span><span class="hl-number">20</span><span class="hl-code"> </span><span class="hl-number">24</span><span class="hl-code"> </span><span class="hl-number">28</span><span class="hl-code"> </span><span class="hl-number">32</span><span class="hl-code"> </span><span class="hl-number">36</span><span class="hl-code"> </span><span class="hl-number">40</span><span class="hl-code"> </span><span class="hl-number">0</span><span class="hl-code"> </span><span class="hl-number">5</span><span class="hl-code"> </span><span class="hl-number">10</span><span class="hl-code"> </span><span class="hl-number">15</span><span class="hl-code"> </span><span class="hl-number">20</span><span class="hl-code"> </span><span class="hl-number">25</span><span class="hl-code"> </span><span class="hl-number">30</span><span class="hl-code"> </span><span class="hl-number">35</span><span class="hl-code"> </span><span class="hl-number">40</span><span class="hl-code"> </span><span class="hl-number">45</span><span class="hl-code"> </span><span class="hl-number">50</span><span class="hl-code"> </span><span class="hl-number">0</span><span class="hl-code"> </span><span class="hl-number">6</span><span class="hl-code"> </span><span class="hl-number">12</span><span class="hl-code"> </span><span class="hl-number">18</span><span class="hl-code"> </span><span class="hl-number">24</span><span class="hl-code"> </span><span class="hl-number">30</span><span class="hl-code"> </span><span class="hl-number">36</span><span class="hl-code"> </span><span class="hl-number">42</span><span class="hl-code"> </span><span class="hl-number">48</span><span class="hl-code"> </span><span class="hl-number">54</span><span class="hl-code"> </span><span class="hl-number">60</span><span class="hl-code"> </span><span class="hl-number">0</span><span class="hl-code"> </span><span class="hl-number">7</span><span class="hl-code"> </span><span class="hl-number">14</span><span class="hl-code"> </span><span class="hl-number">21</span><span class="hl-code"> </span><span class="hl-number">28</span><span class="hl-code"> </span><span class="hl-number">35</span><span class="hl-code"> </span><span class="hl-number">42</span><span class="hl-code"> </span><span class="hl-number">49</span><span class="hl-code"> </span><span class="hl-number">56</span><span class="hl-code"> </span><span class="hl-number">63</span><span class="hl-code"> </span><span class="hl-number">70</span><span class="hl-code"> </span><span class="hl-number">0</span><span class="hl-code"> </span><span class="hl-number">8</span><span class="hl-code"> </span><span class="hl-number">16</span><span class="hl-code"> </span><span class="hl-number">24</span><span class="hl-code"> </span><span class="hl-number">32</span><span class="hl-code"> </span><span class="hl-number">40</span><span class="hl-code"> </span><span class="hl-number">48</span><span class="hl-code"> </span><span class="hl-number">56</span><span class="hl-code"> </span><span class="hl-number">64</span><span class="hl-code"> </span><span class="hl-number">72</span><span class="hl-code"> </span><span class="hl-number">80</span><span class="hl-code"> </span><span class="hl-number">0</span><span class="hl-code"> </span><span class="hl-number">9</span><span class="hl-code"> </span><span class="hl-number">18</span><span class="hl-code"> </span><span class="hl-number">27</span><span class="hl-code"> </span><span class="hl-number">36</span><span class="hl-code"> </span><span class="hl-number">45</span><span class="hl-code"> </span><span class="hl-number">54</span><span class="hl-code"> </span><span class="hl-number">63</span><span class="hl-code"> </span><span class="hl-number">72</span><span class="hl-code"> </span><span class="hl-number">81</span><span class="hl-code"> </span><span class="hl-number">90</span><span class="hl-code"> </span><span class="hl-number">0</span><span class="hl-code"> </span><span class="hl-number">10</span><span class="hl-code"> </span><span class="hl-number">20</span><span class="hl-code"> </span><span class="hl-number">30</span><span class="hl-code"> </span><span class="hl-number">40</span><span class="hl-code"> </span><span class="hl-number">50</span><span class="hl-code"> </span><span class="hl-number">60</span><span class="hl-code"> </span><span class="hl-number">70</span><span class="hl-code"> </span><span class="hl-number">80</span><span class="hl-code"> </span><span class="hl-number">90</span><span class="hl-code"> </span><span class="hl-number">100</span><span class="hl-code"> </span><span class="hl-identifier">Presione</span><span class="hl-code"> </span><span class="hl-identifier">una</span><span class="hl-code"> </span><span class="hl-identifier">tecla</span><span class="hl-code"> </span><span class="hl-identifier">para</span><span class="hl-code"> </span><span class="hl-identifier">continuar</span><span class="hl-code"> ...</span></pre></div> </div> <p>Si lees los comentarios y pensas se deberia entender. Creamos una matriz de 11x11 (es decir los indices de filas y columas van del 0 al 10), y a cada uno de los valores de la matriz (es decir a cada uno de los 121 valores), le asignamos de valor su numero de columna* su numero de final. De esta forma cumplimos con la definicion de tabla de multiplicar y generamos una. Despues mostramos la tabla de multiplicar. Usamos de manera diferente el cout tambien en esta ocasion. Cabe resaltar que si se usa el cout sin agregar el endl, el proximo cout mostrara el texto a mostrar en la misma linea, y si se agrega cout&#171;algo&#171;otra_cosa se muestra algo junto a otra cosa. Con todo eso se deberia entender como funciona el cout mas completamente.</p> <p>Espero que hayas entendido el tema, el proximo tema son matrices con vectores. Luego vendran mas cosas, hay muchisimos temas mas que tengo para enseñar todavia!</p> <h2><span><strong>Matrices con vectores</strong></span></h2> <p>Ahora veremos otro tema parecido. La matriz que hicimos antes la hicimos con arrays, por lo tanto, su tamaño era estatico, todas las filas y columnas tenian tamaño fijo. Con matrices basadas en vectores.</p> <p>Para crear una matriz de enteros usaremos, que nos crea un vector de tipo de dato vector para ints.</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; &gt; </span><span class="hl-identifier">nombre_matriz</span><span class="hl-code">;</span></pre></div> </div> <p>donde iniciamos una tabla (=matriz) de 0 filas y 0 columas.</p> <p>Para agregarle una linea a la tabla hacemos, por ejemplo</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">linea</span><span class="hl-code">; </span><span class="hl-identifier">linea</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-code"> </span><span class="hl-number">5</span><span class="hl-code"> </span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//a la linea le agregamos un 5</span><span class="hl-code"> </span><span class="hl-identifier">linea</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-code"> </span><span class="hl-number">2</span><span class="hl-code"> </span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//a la linea le agregamos un 2</span><span class="hl-code"> </span><span class="hl-identifier">nombre_matriz</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">linea</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//a la tabla le agregamos la linea</span></pre></div> </div> <p>Cabe resaltar que la matriz como todo vector tiene una funcion size (nombre_vector.size()) que nos da la cantidad de lineas que contiene (=longitud del vector), y cada uno de las lineas del vector, que como todo vector se accede como nombre_matrz[ numero_de_fila ], tiene tambien su .size() y tambien se puede accede a cada uno de sus valores con nombre_matrz[ numero_de_fila ][ numero_de_columna]. Al igual que cuando vimos antes vectores hay que recordar que si intentamos acceder a un numero_de_fila que no existe (numero_de_fila&gt;=nombre_vector.size()), el programa se cerrara (un debugger marcaria esa linea como error), como tampoco podemos acceder a un valor de una de las lineas que no existe (numero_de_valor_de_la_fila&gt;=nombre_vector[numero_de_fila].size().</p> <p>Ahora veremos un ejemplo donde calculamos los divisores de los numeros 0 al 10, y los mostramos por cada numero</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">iostream</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdlib.h</span><span class="hl-quotes">&gt;</span><span class="hl-prepro"> //para el system pause</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdio.h</span><span class="hl-quotes">&gt;</span><span class="hl-prepro"> //en linux necesario para getchar();</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">vector</span><span class="hl-quotes">&gt;</span><span class="hl-prepro"> //usaremos vectores!</span><span class="hl-code"> </span><span class="hl-reserved">using</span><span class="hl-code"> </span><span class="hl-types">namespace</span><span class="hl-code"> </span><span class="hl-identifier">std</span><span class="hl-code">; </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt; </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; &gt; </span><span class="hl-identifier">datos_divisores</span><span class="hl-code">; </span><span class="hl-comment">//creamos el vector donde almacenamos los datos de divisores</span><span class="hl-code"> </span><span class="hl-mlcomment">/* Prototipos */</span><span class="hl-code"> </span><span class="hl-types">void</span><span class="hl-code"> </span><span class="hl-identifier">mostrar_vector</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">obtener_divisores</span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">numero</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//devuelve un vector&lt;int&gt;!</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">n</span><span class="hl-code"> = </span><span class="hl-number">1</span><span class="hl-code">;</span><span class="hl-identifier">n</span><span class="hl-code"> &lt;= </span><span class="hl-number">10</span><span class="hl-code">;</span><span class="hl-identifier">n</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-mlcomment">/* Calculamos los divisores desde 1 hasta 10 y los almacenamos en el vector */</span><span class="hl-code"> </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">divisores</span><span class="hl-code"> = </span><span class="hl-identifier">obtener_divisores</span><span class="hl-brackets">(</span><span class="hl-code"> </span><span class="hl-identifier">n</span><span class="hl-code"> </span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//Esta funcion devuelve un vector&lt;int&gt; con los divisores</span><span class="hl-code"> </span><span class="hl-identifier">datos_divisores</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-code"> </span><span class="hl-identifier">divisores</span><span class="hl-code"> </span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//agregamos esa linea (=lista) a los datos de divisores</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-identifier">mostrar_vector</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-comment">//mostramos el vector</span><span class="hl-code"> </span><span class="hl-identifier">system</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">pause</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//en linux el cout&lt;&lt;&quot;Presione una tecla para continuar...&quot;; while (getchar()!='\n'){};</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">obtener_divisores</span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">numero</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">divisores</span><span class="hl-code">; </span><span class="hl-comment">//creamos el vector donde almacenaremos los divisores</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">d</span><span class="hl-code"> = </span><span class="hl-number">1</span><span class="hl-code">;</span><span class="hl-identifier">d</span><span class="hl-code"> &lt;= </span><span class="hl-identifier">numero</span><span class="hl-code">;</span><span class="hl-identifier">d</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//revisamos todos los numeros de 1 al numero</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">numero</span><span class="hl-code"> % </span><span class="hl-identifier">d</span><span class="hl-code"> == </span><span class="hl-number">0</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//si el numero puede dividise por d</span><span class="hl-code"> </span><span class="hl-identifier">divisores</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-code"> </span><span class="hl-identifier">d</span><span class="hl-code"> </span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//lo agrego al vector el numero que divide.</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-identifier">divisores</span><span class="hl-code">; </span><span class="hl-comment">//devuevlo el vector</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-types">void</span><span class="hl-code"> </span><span class="hl-identifier">mostrar_vector</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-comment">//funcion para mostrar graficamente el vector (la matriz)</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">v</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">v</span><span class="hl-code"> &lt; </span><span class="hl-identifier">datos_divisores</span><span class="hl-code">.</span><span class="hl-identifier">size</span><span class="hl-brackets">()</span><span class="hl-code">;</span><span class="hl-identifier">v</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//por cada linea de la matriz</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">v</span><span class="hl-code">+</span><span class="hl-number">1</span><span class="hl-code"> &lt; </span><span class="hl-number">10</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//esto es para que si es menor que 10, que ocupe el mismo espacio, y se vea mejor</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">v</span><span class="hl-code">+</span><span class="hl-number">1</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string"> : {</span><span class="hl-quotes">&quot;</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">v</span><span class="hl-code">+</span><span class="hl-number">1</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">: {</span><span class="hl-quotes">&quot;</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-comment">//ej 10: y 9 :, ocupan el mismo espacio</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">vv</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">vv</span><span class="hl-code"> &lt; </span><span class="hl-identifier">datos_divisores</span><span class="hl-brackets">[</span><span class="hl-identifier">v</span><span class="hl-brackets">]</span><span class="hl-code">.</span><span class="hl-identifier">size</span><span class="hl-brackets">()</span><span class="hl-code">;</span><span class="hl-identifier">vv</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//por cada divisor almacenado en la linea</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">datos_divisores</span><span class="hl-brackets">[</span><span class="hl-identifier">v</span><span class="hl-brackets">][</span><span class="hl-identifier">vv</span><span class="hl-brackets">]</span><span class="hl-code">; </span><span class="hl-comment">//lo muestro sin hacer espacio</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">vv</span><span class="hl-code"> != </span><span class="hl-identifier">datos_divisores</span><span class="hl-brackets">[</span><span class="hl-identifier">v</span><span class="hl-brackets">]</span><span class="hl-code">.</span><span class="hl-identifier">size</span><span class="hl-brackets">()</span><span class="hl-code"> - </span><span class="hl-number">1</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//si no es el ultimo no agrego la coma para que se vea mejor</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string"> , </span><span class="hl-quotes">&quot;</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">}</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span></pre></div> </div> <br /> SALIDA <div class="code"> <div class="hl-main"> <pre><span class="hl-number">1</span><span class="hl-code"> : </span><span class="hl-brackets">{</span><span class="hl-number">1</span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-number">2</span><span class="hl-code"> : </span><span class="hl-brackets">{</span><span class="hl-number">1</span><span class="hl-code"> , </span><span class="hl-number">2</span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-number">3</span><span class="hl-code"> : </span><span class="hl-brackets">{</span><span class="hl-number">1</span><span class="hl-code"> , </span><span class="hl-number">3</span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-number">4</span><span class="hl-code"> : </span><span class="hl-brackets">{</span><span class="hl-number">1</span><span class="hl-code"> , </span><span class="hl-number">2</span><span class="hl-code"> , </span><span class="hl-number">4</span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-number">5</span><span class="hl-code"> : </span><span class="hl-brackets">{</span><span class="hl-number">1</span><span class="hl-code"> , </span><span class="hl-number">5</span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-number">6</span><span class="hl-code"> : </span><span class="hl-brackets">{</span><span class="hl-number">1</span><span class="hl-code"> , </span><span class="hl-number">2</span><span class="hl-code"> , </span><span class="hl-number">3</span><span class="hl-code"> , </span><span class="hl-number">6</span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-number">7</span><span class="hl-code"> : </span><span class="hl-brackets">{</span><span class="hl-number">1</span><span class="hl-code"> , </span><span class="hl-number">7</span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-number">8</span><span class="hl-code"> : </span><span class="hl-brackets">{</span><span class="hl-number">1</span><span class="hl-code"> , </span><span class="hl-number">2</span><span class="hl-code"> , </span><span class="hl-number">4</span><span class="hl-code"> , </span><span class="hl-number">8</span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-number">9</span><span class="hl-code"> : </span><span class="hl-brackets">{</span><span class="hl-number">1</span><span class="hl-code"> , </span><span class="hl-number">3</span><span class="hl-code"> , </span><span class="hl-number">9</span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-number">10</span><span class="hl-code">: </span><span class="hl-brackets">{</span><span class="hl-number">1</span><span class="hl-code"> , </span><span class="hl-number">2</span><span class="hl-code"> , </span><span class="hl-number">5</span><span class="hl-code"> , </span><span class="hl-number">10</span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-identifier">Presione</span><span class="hl-code"> </span><span class="hl-identifier">una</span><span class="hl-code"> </span><span class="hl-identifier">tecla</span><span class="hl-code"> </span><span class="hl-identifier">para</span><span class="hl-code"> </span><span class="hl-identifier">continuar</span><span class="hl-code"> . . .</span></pre></div> </div> <br /> Como vemos tenemos que el uno tiene de divisores el 1, el 2 tiene de divisores el 1 y el 2, el 3 el 1 y el 3, el 4 tiene de divisores 1, 2 y 4, y asi.<br /> Si no entendiste bien lo del cout con y sin endl, proba vos para entenderlo, porque aqui lo volvi a usarlo, y de manera mas complicada. El programa consiste en crear un vector de vectores (=matriz de vectores), y por los numeros del 1 al 10, agregarle lineas (que son vectores), con los divisores del numero correspondiente, y luego mostrarlo. Considero importante que entiendan el algoritmo para mostrarlo masomenos lindo la matriz. En realidad en teoria solo con la teoria de vector se puede hacer este ejemplo, considerando que un vector es un tipo de dato tambien y se puede hacer un vector de cualquier tipo de dato (incluyendo de vectores). Tambien hay que notar que hicimos una funcion que no devuelve como dato ni un int, ni un void, devuelve un vector de enteros, esto tambien es posible. Si tienen otras dudas pueden preguntar en los comentarios.<br /> Con todo esto se deberia haber entendio matrices con vectores (=vector de vectores), es imporante que tengan en cuenta que al igual que con los arrays, se pueden hacer vectores de mas de dos dimensiones, de 3,4,5, y mas (habria que escribir<br /> vector &lt;vector &lt;vector &lt;vector &lt;int&gt; &gt; &gt;, segun corresponda, (=vector de tipo dato vector de tipo dato vector de tipo de dato vector de tipo de dato int). <h2><span><strong>Recursividad</strong></span></h2> <p>En programacion, y en la vida en general, una solucion de un problema con rescursividad, significa un procedmimiento de un problema, que se requiere llamarse a si mismo para funcionar. Es decir, una funcion que se llama a si misma (si, se puede). Sin embargo, si sucediece algo asi, nunca se terminaria de resolver el problema, porque se llamaria asi mismo indefinidamente. Por eso decimos, que siempre la recursividad tiene un limite, un punto en el cual una de las llamadas al procedimiento no vuelve a llamarlo a si mismo.<br /> Hay muchos problemas que pueden ser resueltos con o sin recursividad, es decir poseen alternativas de ambos lados. Sin embargo, la solucion recursiva suele ser a veces más facil de idear.</p> <p>Este será el problema que resolveremos mediante recursividad</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-identifier">El</span><span class="hl-code"> </span><span class="hl-identifier">algoritmo</span><span class="hl-code"> </span><span class="hl-identifier">de</span><span class="hl-code"> </span><span class="hl-identifier">Ecluides</span><span class="hl-code"> </span><span class="hl-identifier">es</span><span class="hl-code"> </span><span class="hl-identifier">una</span><span class="hl-code"> </span><span class="hl-identifier">forma</span><span class="hl-code"> </span><span class="hl-identifier">de</span><span class="hl-code"> </span><span class="hl-identifier">obtener</span><span class="hl-code"> </span><span class="hl-identifier">el</span><span class="hl-code"> </span><span class="hl-identifier">maximo</span><span class="hl-code"> </span><span class="hl-identifier">comun</span><span class="hl-code"> </span><span class="hl-identifier">divisor</span><span class="hl-code"> </span><span class="hl-identifier">de</span><span class="hl-code"> </span><span class="hl-identifier">dos</span><span class="hl-code"> </span><span class="hl-identifier">numeros</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">es</span><span class="hl-code"> </span><span class="hl-identifier">decir</span><span class="hl-code">, </span><span class="hl-identifier">el</span><span class="hl-code"> </span><span class="hl-identifier">numero</span><span class="hl-code"> </span><span class="hl-identifier">mas</span><span class="hl-code"> </span><span class="hl-identifier">mas</span><span class="hl-code"> </span><span class="hl-identifier">grande</span><span class="hl-code"> </span><span class="hl-identifier">que</span><span class="hl-code"> </span><span class="hl-identifier">divide</span><span class="hl-code"> </span><span class="hl-identifier">sin</span><span class="hl-code"> </span><span class="hl-identifier">resto</span><span class="hl-code"> </span><span class="hl-identifier">dos</span><span class="hl-code"> </span><span class="hl-identifier">numeros</span><span class="hl-brackets">)</span><span class="hl-code">, </span><span class="hl-identifier">que</span><span class="hl-code"> </span><span class="hl-identifier">consiste</span><span class="hl-code"> </span><span class="hl-identifier">en</span><span class="hl-code"> </span><span class="hl-identifier">restar</span><span class="hl-code"> </span><span class="hl-identifier">el</span><span class="hl-code"> </span><span class="hl-identifier">mas</span><span class="hl-code"> </span><span class="hl-identifier">grande</span><span class="hl-code"> </span><span class="hl-identifier">de</span><span class="hl-code"> </span><span class="hl-identifier">los</span><span class="hl-code"> </span><span class="hl-identifier">dos</span><span class="hl-code"> </span><span class="hl-identifier">numeros</span><span class="hl-code"> </span><span class="hl-identifier">por</span><span class="hl-code"> </span><span class="hl-identifier">el</span><span class="hl-code"> </span><span class="hl-identifier">menor</span><span class="hl-code"> </span><span class="hl-identifier">hasta</span><span class="hl-code"> </span><span class="hl-identifier">que</span><span class="hl-code"> </span><span class="hl-identifier">ambos</span><span class="hl-code"> </span><span class="hl-identifier">numeros</span><span class="hl-code"> </span><span class="hl-identifier">sean</span><span class="hl-code"> </span><span class="hl-identifier">iguales</span><span class="hl-code">. </span><span class="hl-identifier">Realizar</span><span class="hl-code"> </span><span class="hl-identifier">una</span><span class="hl-code"> </span><span class="hl-identifier">solucion</span><span class="hl-code"> </span><span class="hl-identifier">recursiva</span><span class="hl-code"> </span><span class="hl-identifier">del</span><span class="hl-code"> </span><span class="hl-identifier">problema</span><span class="hl-code"> </span><span class="hl-identifier">fuente</span><span class="hl-code">: </span><span class="hl-identifier">ocw</span><span class="hl-code">. </span><span class="hl-identifier">udl</span><span class="hl-code">. </span><span class="hl-identifier">cat</span><span class="hl-code"> /</span><span class="hl-identifier">enginyeria</span><span class="hl-code">-</span><span class="hl-identifier">i</span><span class="hl-code">-</span><span class="hl-identifier">arquitectura</span><span class="hl-code">/</span><span class="hl-identifier">programacio</span><span class="hl-code">-</span><span class="hl-number">2</span><span class="hl-code">/</span><span class="hl-identifier">problemes</span><span class="hl-code">-</span><span class="hl-number">2</span><span class="hl-code">/</span><span class="hl-number">2</span><span class="hl-code">-</span><span class="hl-identifier">problemas</span><span class="hl-code">-</span><span class="hl-identifier">de</span><span class="hl-code">-</span><span class="hl-identifier">recursividad</span><span class="hl-code">.</span><span class="hl-identifier">pdf</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">sin</span><span class="hl-code"> </span><span class="hl-identifier">espacios</span><span class="hl-brackets">)</span></pre></div> </div> <br /> Nota: no vamos a demostrar porque se comple el algoritmo, solo vamos a &quot;traducirlo&quot; a lenguaje c. Buscandolo en internet probablemente habra muchos sitios que lo demuestren de diversas formas. <p>Es decir<br /> -el numero mas grande, se convierte en la resta del mas grande y el mas chico<br /> -el numero mas chico sigue igual<br /> -si son iguales, ese es el maximo comun divisor, y la solucion<br /> -si no, entonces repito el algoritmo con los dos numeros que me quedaron, y el resultado que me de la solucion</p> <p>Entonces, el codigo para resolver el problema seria</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">iostream</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdlib.h</span><span class="hl-quotes">&gt;</span><span class="hl-prepro"> //para el system pause</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdio.h</span><span class="hl-quotes">&gt;</span><span class="hl-prepro"> //en linux necesario para getchar();</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">vector</span><span class="hl-quotes">&gt;</span><span class="hl-prepro"> //usaremos vectores!</span><span class="hl-code"> </span><span class="hl-reserved">using</span><span class="hl-code"> </span><span class="hl-types">namespace</span><span class="hl-code"> </span><span class="hl-identifier">std</span><span class="hl-code">; </span><span class="hl-mlcomment">/*** Prototipo ***/</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">mcd</span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">A</span><span class="hl-code">,</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">B</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-mlcomment">/*** Main ***/</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">mcd</span><span class="hl-brackets">(</span><span class="hl-number">412</span><span class="hl-code">,</span><span class="hl-number">184</span><span class="hl-brackets">)</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">mcd</span><span class="hl-brackets">(</span><span class="hl-code"> </span><span class="hl-number">12</span><span class="hl-code">, </span><span class="hl-number">25</span><span class="hl-brackets">)</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">mcd</span><span class="hl-brackets">(</span><span class="hl-code"> </span><span class="hl-number">56</span><span class="hl-code">, </span><span class="hl-number">34</span><span class="hl-brackets">)</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">system</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">pause</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-mlcomment">/*** Implementacion ***/</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">mcd</span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">A</span><span class="hl-code">,</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">B</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">A</span><span class="hl-code"> &gt; </span><span class="hl-identifier">B</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//como a &gt; b entonces le resto a A, B</span><span class="hl-code"> </span><span class="hl-identifier">A</span><span class="hl-code"> = </span><span class="hl-identifier">A</span><span class="hl-code"> - </span><span class="hl-identifier">B</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">B</span><span class="hl-code"> &gt; </span><span class="hl-identifier">A</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//como b &gt; a entonces le resto a A, B</span><span class="hl-code"> </span><span class="hl-identifier">B</span><span class="hl-code"> = </span><span class="hl-identifier">B</span><span class="hl-code"> - </span><span class="hl-identifier">A</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">A</span><span class="hl-code"> == </span><span class="hl-identifier">B</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//si son iguales ya consegui el mcd</span><span class="hl-code"> </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-identifier">A</span><span class="hl-code">; </span><span class="hl-comment">//devuelvo A, pero tambien podria devolver B, son ambos iguales</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{</span><span class="hl-code"> </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-identifier">mcd</span><span class="hl-brackets">(</span><span class="hl-identifier">A</span><span class="hl-code">,</span><span class="hl-identifier">B</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//entonces devuelvo el resultado de los dos numeros que quedaron</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span></pre></div> </div> <br /> SALIDA <div class="code"> <div class="hl-main"> <pre><span class="hl-number">4</span><span class="hl-code"> </span><span class="hl-number">1</span><span class="hl-code"> </span><span class="hl-number">2</span><span class="hl-code"> </span><span class="hl-identifier">Presione</span><span class="hl-code"> </span><span class="hl-identifier">cualquier</span><span class="hl-code"> </span><span class="hl-identifier">tecla</span><span class="hl-code"> </span><span class="hl-identifier">para</span><span class="hl-code"> </span><span class="hl-identifier">continuar</span><span class="hl-code"> ...</span></pre></div> </div> <p>¿Como funciono? Seguiremos el primer caso. Tenemos 412 y 184.</p> <p>Como 412 es mayor a 184, el 412 se transforma en 228 (412-184). Y como no son iguales, se devuelve la solucion de mcd(228,184).<br /> Dentro de ese mcd, como 228 es mayor a 184, el 228 se transforma en 44 (448-184). Como no son iguales, se devuelve la solucion de mcd(44,184)<br /> Dentro de ese mcd, como 184 es mayor a 44, el 184 se transforma en 104 (184-44). Como no son iguales se devuelve la solucion de mcd(44,104)<br /> Dentro de ese mcd, como 104 es mayor a 44, el 104 se transorma en 60 (104-44). Como no son iguales se devuelve la solucion de mcd(44,60)<br /> Dentro de ese mcd, como 60 es mayor a 44, el 60 se transforma en 16 (60-44). Como no son iguales se devuelve la solucion de mcd(44,16)<br /> Dentro de ese mcd, como 44 es mayor a 16, el 44 se transforma en 28 (44-16). Como no son iguales se devuelve la solucion de mcd(28,16)<br /> Dentro de ese mcd, como 28 es mayor a 16, el 28 se transforma en 12 (28-12). Como no son iguales se devuelve la solucion de mcd(12,16)<br /> Dentro de ese mcd, como 16 es mayor a 12, el 16 se transforma en 4 (16-12). Como no son iguales se devuelve la solucion de mcd(12,4)<br /> Dentro de ese mcd, como 12 es mayor a 4, el 12 se transforma en 8 (12-4). Como no son iguales se devuelve la solucion de mcd(8,4)<br /> Dentro de ese mcd, como 8 es mayor a 4, el 8 se transforma en 4 (8-4). Son iguales! entonces esta es la solucion del problema, y devolvemos 4, que es la solucion del problema.</p> <p>Cabe resaltar que tambien se puede resolver el problema con un for, es verdad, pero hay problemas mucho mas rebuscados, que es mejor encararlos con recursividad.</p> <p>Aun no se ha terminado el articulo, falta mostrar ejemplos mas complejos de recursividad, pero la base esta!</p> <h2><span><strong>Otro problema con recursividad</strong></span></h2> <p>Este es otro problema interesante y mas complicado, que ademas a mi parecer la solucion recursiva es la más sencilla de pensar.</p> <div class="code"> <pre><code>En el ajedrez un caballo se mueve en L (dos casillas en un eje, y una casilla en el restante). Un tablero de ajedrez mide 8x8. Dar todos los lugares a donde un caballo puede estar en 5 movimientos.</code></pre></div> <p>[[html]]<br /> Insert any HTML code, including widgets and video or audio players<br /> [[/html]]</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-903356</guid>
				<title>C++ basico para olimpiadas</title>
				<link>http://cym.wikidot.com/forum/t-903356/c-basico-para-olimpiadas</link>
				<description>Pequeño tutorial para iniciarse en la olimpiada de manera rápida, con los conceptos que considero importantes</description>
				<pubDate>Sun, 29 Jun 2014 21:18:45 +0000</pubDate>
				<wikidot:authorName>Newtonis penguin</wikidot:authorName>				<wikidot:authorUserId>1469664</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Buenas, bienvenidos al tutorial, para empezar me presento soy Ariel Nowik de ORT almagro y estoy en 5to año (es hasta 6to ort). Participe 2 veces de cym (en la 2da sali 3ro) y por desgracia en general tuve que entrenarme solo y muchos temas los aprendi casi por casualidad. Como no quiero que le suceda eso a otras personas voy a explicar los conceptos importantes del lenguaje C++.</p> <h2><span><strong>¿Que programas nescesito?</strong></span></h2> <p>Para correr un programa en c++ (que consiste en dos procesos, compilar, y ejecutar) nescesitas dos herramientas, un editor de texto y un compilador.<br /> Para no complicarnos muestro los progarmas que podes usar (y he utilizado):<br /> -Codeblocks (linux y windows), viene con todo para correr directo no hay nada aparte si se baja la version codeblocks-13.12mingw-setup.exe, en linux con sudo apt-get install codeblocks ya se lo instala sin naa extra. Es muy facil de usar.</p> <p>-Visual c++ (para windows)<br /> -xcode (para mac)<br /> -appcode (para mac, pago)<br /> -dev c++ (para windows)<br /> -netbeans (linux,windows) gratis y potentisimo, es el que uso, aunque en windows es dificil instalar los compiladores<br /> -qtcreator (windows,linux) va mas rapido que netbeans, pero pesa muchisimo (en el orden de los GBs)<br /> -borland rhide (dos, windows) es el que se usa en la olimpiada, es un editor historico que se corre en terminal y para la epoca fue muy potente, es importante bajarselo para el dia de la olimpiada poder adaptarse rapido (no como me paso a mi ;) ), por ejemplo no tiene los control -c control-v control-x, sino que tiene otras teclas para el copy paste<br /> y varios mas, tambien se puede usar block de notas, gedit o sublime text, pero hay que compilar por terminal lo que hace perder mucho tiempo.</p> <p>Yo recomiendo usar codeblocks si es la primera vez, seguido de dev c++. si queres un mejor editor y tenes compu lenta bajas qtcreator y si no bajas netbeans. Si tenes mac te bajas xcode y si estas dispuesto a pagar appcode. Son gustos. Tanto sublime text como appcode traen un plugin llamado floobits que permite editar codigo de manera colaborativa estilo google docs, pero, es muy dificil adaptarse a sublime text que solo compila c++ de manera manual.</p> <h2><span><strong>Como empiezo un programa</strong></span></h2> <p>Lo primero que se hace es crear un archivo .cpp, como por ejemplo main.cpp, y ahi va el contenido del codigo. Con build and run, usualmente se corre el codigo.</p> <h2><span><strong>&quot;#include&quot;</strong></span></h2> <p>Se trata de el comando basico de un programa, donde especificamos que clase de cosas nuestro programa va a utilizar. Tenemos por ejemplo<br /> #include &lt;iostream&gt; que siempre en olimpiadas ira, que es para poder mostrar texto en la consola nera<br /> #include &lt;math.h&gt; que es para poder hacer potencias, raices, seno, coseno en nuestro programa, mas adelante lo veremos<br /> #include &lt;stdlib.h&gt; que incluye el comando &quot;system&quot; para poder correr comandos del sistema.<br /> #include &lt;stdio.h&gt; que incluye el comando getchar() para linux y otras cosas utiles. por las dudas lo incluiremos<br /> #include &lt;string&gt; que incluye para poder usar cadenas de texto en el programa</p> <p>Y por ahora ninguno mas nescesitamos.</p> <h2><span>&quot;<strong>using namespace std</strong>&quot;</span></h2> <p>Ahora sera muy dificil entenderlo sin saber nada, pero sirve para en vez de escribir std::cout std::endl; pones cout y std. Si lo explico bien se complica mucho.</p> <p><strong>int main(){<br /> //codigo<br /> }</strong></p> <p>Todo lo que se corra en el programa estara en codigo. // es un comentario, todo lo que este en esa linea no se tendra en cuenta al correr el programa. Entonces dentro de las {} de main ponemos los comandos de programa a ejecutar.</p> <h2><span><strong>Variables</strong></span></h2> <p>Se trata de espacio de memoria de la computadora que se reserva para guardar valores, en general numericos (de 0 a 2^ algo segun que clase de dato guardemos), aunque tambien hay strings (para texto), double o float, para numeros con coma, y tambien es posible crear nuestros propios tipos de datos, pero se explicara despues.</p> <h2><span><strong>¿Como reservamos un espacio de memoria para variables?</strong></span></h2> <div class="code"> <div class="hl-main"> <pre><span class="hl-identifier">tipo_de_dato</span><span class="hl-code"> </span><span class="hl-identifier">nombre_de_referencia</span><span class="hl-code">;</span></pre></div> </div> <p>donde tipo de dato es el nombre del tipo de dato (int , double, string , float , long int, long long int, (hay mas) o algun tipo que inventemos nosotros), y en nombre de referencia con que nombre nosotros leeremos, o alteraremos dicho valor. No puede tener espacios ni * / + - ni tampoco nombres reservados por el c++ (si falla el codigo pueden probar cambiar el nombre de la variable, a veces es el problema.<br /> ejemplo:</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">iostream</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">string</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-reserved">using</span><span class="hl-code"> </span><span class="hl-types">namespace</span><span class="hl-code"> </span><span class="hl-identifier">std</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-comment">//con este codigo marcamos tres espacios de memoria ram en nuestra computadora. No les damos ningun valor, solo los reservamos para nuestro programa</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">altura</span><span class="hl-code">; </span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">cambio</span><span class="hl-code">; </span><span class="hl-identifier">string</span><span class="hl-code"> </span><span class="hl-identifier">un_string</span><span class="hl-code">; </span><span class="hl-brackets">}</span></pre></div> </div> <h2><span><strong>¿Como le damos valor a un espacio de memoria ya creado?</strong></span></h2> <p>Cuando trabajamos con int, o cualquier otro tipo numerico, y con strings utilizamos el = para asignar un numero (como son variables su valor puede cambiar a lo largo del programa), ejemplo</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">iostream</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">string</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-reserved">using</span><span class="hl-code"> </span><span class="hl-types">namespace</span><span class="hl-code"> </span><span class="hl-identifier">std</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-comment">//con este codigo marcamos tres espacios de memoria ram en nuestra computadora. No les damos ningun valor, solo los reservamos para nuestro programa</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">altura</span><span class="hl-code">; </span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">cambio</span><span class="hl-code">; </span><span class="hl-identifier">string</span><span class="hl-code"> </span><span class="hl-identifier">un_string</span><span class="hl-code">; </span><span class="hl-comment">//altura, cambio y un_string ya fueron reservadas en la memoria en el bloque de codigo de arriba)</span><span class="hl-code"> </span><span class="hl-identifier">altura</span><span class="hl-code"> = </span><span class="hl-number">5</span><span class="hl-code">; </span><span class="hl-identifier">cambio</span><span class="hl-code"> = </span><span class="hl-number">7.34</span><span class="hl-code">; </span><span class="hl-identifier">un_string</span><span class="hl-code"> = </span><span class="hl-quotes">&quot;</span><span class="hl-string">hola</span><span class="hl-quotes">&quot;</span><span class="hl-code">; </span><span class="hl-comment">//con comillas</span><span class="hl-code"> </span><span class="hl-brackets">}</span></pre></div> </div> <h2><span><strong>¿Como mostramos el valor de variables con el programa?</strong></span></h2> <p>Decimos que un programa es un conjunto de instrucciones que se corren en secuencia. Por lo tanto si seguimos la linea del programa anterior primero guardamos espacios (= reservamos espacio para variables) para altura, cambio y un_string y luego les asignamos los valores 5, 7.34 y &quot;hola&quot; respectivamente. Lo que va a seguir al correr el programa sera mostrar los valores, para verificar que todo anda bien. Con iostream disponemos de el comando cout &#171; variable &#171; endl; donde variable sera la variable (= espacio de memoria) la cual queremos ver el valor que le asignamos. Ademas, agregaremos el comando system(&quot;pause&quot;), porque el programa al correr y terminar todos sus comandos por defecto se cierra. Entonces con system(&quot;pause&quot;), hacemos que para que el programa pueda salir de ese comando que lo trabo, se puse enter. En linux se usa en vez del system pause, este comando: cout&#171;&quot;presione una tecla para continuar&#8230;&quot;&#171;endl; while (getchar()!='\n'){};</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">iostream</span><span class="hl-quotes">&gt;</span><span class="hl-prepro"> //para poder usar cout</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdlib.h</span><span class="hl-quotes">&gt;</span><span class="hl-prepro"> //para poder usar system pause</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdio.h</span><span class="hl-quotes">&gt;</span><span class="hl-prepro"> //solo es nescesario en linux, si se usa getchar(), para el comando que arriba puse, si usas windows ignoralo podes borrar esta linea</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">string</span><span class="hl-quotes">&gt;</span><span class="hl-prepro"> //para poder usar string, no interesa pero siempre que usemos strings agregamos esta linea</span><span class="hl-code"> </span><span class="hl-reserved">using</span><span class="hl-code"> </span><span class="hl-types">namespace</span><span class="hl-code"> </span><span class="hl-identifier">std</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-comment">//con este codigo marcamos tres espacios de memoria ram en nuestra computadora. No les damos ningun valor, solo los reservamos para nuestro programa</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">altura</span><span class="hl-code">; </span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">cambio</span><span class="hl-code">; </span><span class="hl-identifier">string</span><span class="hl-code"> </span><span class="hl-identifier">un_string</span><span class="hl-code">; </span><span class="hl-comment">//altura, cambio y un_string ya fueron reservadas en la memoria en el bloque de codigo de arriba)</span><span class="hl-code"> </span><span class="hl-identifier">altura</span><span class="hl-code"> = </span><span class="hl-number">5</span><span class="hl-code">; </span><span class="hl-identifier">cambio</span><span class="hl-code"> = </span><span class="hl-number">7.34</span><span class="hl-code">; </span><span class="hl-identifier">un_string</span><span class="hl-code"> = </span><span class="hl-quotes">&quot;</span><span class="hl-string">hola</span><span class="hl-quotes">&quot;</span><span class="hl-code">; </span><span class="hl-comment">//con comillas</span><span class="hl-code"> </span><span class="hl-comment">//mostramos los valores</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">altura</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">cambio</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">un_string</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-comment">//frenamos el programa</span><span class="hl-code"> </span><span class="hl-identifier">system</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">pause</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//en linux seria cout&lt;&lt;&quot;presione una tecla para continuar...&quot;&lt;&lt;endl; while (getchar()!='\n'){};</span><span class="hl-code"> </span><span class="hl-brackets">}</span></pre></div> </div> <br /> SALIDA al correr el programa: <div class="code"> <pre><code>5 7.34 hola Presione una tecla para continuar...</code></pre></div> <br /> Se mostraron las tres variables como corresponde y luego se frena esperando que presionemos enter. <h2><span><strong>¿Como hacemos operaciones matematicas entre variables?</strong></span></h2> <p>Atencion: a partir de ahora int, double son variables numericas, o numeros, o espacio de memoria asignado para numeros, son lo mismo.</p> <p>tenemos 5 operadores clasicos para operar numeros int,double, o otros, que son el +(mas) el -(menos) el /(dividido) el *(multiplicado) y el %(resto de la division), ademas de los que nos brinda math.h (que para poder ser usados debe estar puesto en el principio del programa #include &lt;math.h&gt;, como por ejemplo pow(numeroA,numeroB); donde numeroA y numeroB son variables numericas ya creadas previamente o directamente numeros escritos, y en lenguaje normal es numeroA elevado a la numeroB. Seguro te parece dificil ahora pero cuando lo veas en la practica se va a entender bien.</p> <p>se operan igual que en la calculadora.<br /> Por ejemplo</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">iostream</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdlib.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">math.h</span><span class="hl-quotes">&gt;</span><span class="hl-prepro"> //vamos a usar pow! </span><span class="hl-code"> </span><span class="hl-comment">//en linux iria stdio.h</span><span class="hl-code"> </span><span class="hl-reserved">using</span><span class="hl-code"> </span><span class="hl-types">namespace</span><span class="hl-code"> </span><span class="hl-identifier">std</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-comment">//con este codigo marcamos tres espacios de memoria ram en nuestra computadora. No les damos ningun valor, solo los reservamos para nuestro programa</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">altura</span><span class="hl-code">; </span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">cambio</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">operacion</span><span class="hl-code">; </span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">operacion2</span><span class="hl-code">; </span><span class="hl-comment">//altura, cambio y un_string ya fueron reservadas en la memoria en el bloque de codigo de arriba)</span><span class="hl-code"> </span><span class="hl-identifier">altura</span><span class="hl-code"> = </span><span class="hl-number">5</span><span class="hl-code">; </span><span class="hl-identifier">cambio</span><span class="hl-code"> = </span><span class="hl-number">7.34</span><span class="hl-code">; </span><span class="hl-identifier">operacion</span><span class="hl-code"> = </span><span class="hl-brackets">(</span><span class="hl-identifier">altura</span><span class="hl-code"> + </span><span class="hl-identifier">cambio</span><span class="hl-brackets">)</span><span class="hl-code"> * </span><span class="hl-number">2</span><span class="hl-code">; </span><span class="hl-comment">//o sorpresa, ¡podemos usar parentesis y hacer expresiones matematicas!</span><span class="hl-code"> </span><span class="hl-identifier">operacion2</span><span class="hl-code"> = </span><span class="hl-identifier">pow</span><span class="hl-brackets">(</span><span class="hl-types">double</span><span class="hl-brackets">(</span><span class="hl-identifier">altura</span><span class="hl-brackets">)</span><span class="hl-code">,</span><span class="hl-types">double</span><span class="hl-brackets">(</span><span class="hl-identifier">cambio</span><span class="hl-brackets">))</span><span class="hl-code"> </span><span class="hl-comment">//se nos antojo elevar altura a cambio y guardar ese valor en la variable (=espacio de memoria) operacion2</span><span class="hl-code"> </span><span class="hl-comment">//en pow se debe a cualquier variable ponerle un double(nombre_de_variable) en vez de poner nombre_de_variable directamente. puedo explicar proque pero se va a hacer muy largo</span><span class="hl-code"> </span><span class="hl-comment">//mostramos</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">operacion</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">operacion2</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">system</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">pause</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//en linux se remplaza por el otro comando </span><span class="hl-code"> </span><span class="hl-brackets">}</span></pre></div> </div> <br /> SALIDA <div class="code"> <pre><code>24 135033 Presione una tecla para continuar...</code></pre></div> <br /> 24 es (5 + 7.34)*2=24.68, pero como vimos lo guardamos en operacion, que es int, por lo tanto como no puede tener numeros con coma se redondea al menor entero posible, es decir 24. 135033 es 5 elevado a la 7.34. Como quizas no lo viste en la escuela pero se puede elevar a numeros con coma. si queremos hacer raiz cuadrada se hace usualmente un truco que es poner pow(numero, 1.0 / indice_de_raiz), ej pow(5,1.0/3.0) para raiz cubica, que es elevar al reciproco (resultado de 1 / numero), que es la propiedad (si lo viste en la escuela podes saltearlo) que dice que &quot;la raiz de indice x de un numero, es el resultado de ese numero elevado al 1/el indice de raiz&quot; <h2><span><strong>El &quot;2x1&quot;</strong></span></h2> <p>Es una utilidad que cabe resaltar, si escribimos en vez de</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">variable</span><span class="hl-code">; </span><span class="hl-identifier">variable</span><span class="hl-code"> = </span><span class="hl-number">5</span><span class="hl-code">;</span></pre></div> </div> <br /> podemos hacer directamente en una sola linea <div class="code"> <div class="hl-main"> <pre><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">variable</span><span class="hl-code"> = </span><span class="hl-number">5</span><span class="hl-code">; </span><span class="hl-comment">//mas rapido</span></pre></div> </div> <br /> para ahorrar pasos y hacer todo mas corto, inicializamos (=guardar espacio de memoria para una variable) y asignamos un valor con el = en una sola linea <p>Tambien otra cosa que se usa es en vez de</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">A</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">B</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">C</span><span class="hl-code">; </span><span class="hl-identifier">A</span><span class="hl-code"> = </span><span class="hl-number">5</span><span class="hl-code">; </span><span class="hl-identifier">B</span><span class="hl-code"> = </span><span class="hl-number">5</span><span class="hl-code">; </span><span class="hl-identifier">C</span><span class="hl-code"> = </span><span class="hl-number">5</span><span class="hl-code">;</span></pre></div> </div> <p>Se usa mucho</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">A</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">B</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">C</span><span class="hl-code">; </span><span class="hl-identifier">A</span><span class="hl-code"> = </span><span class="hl-identifier">B</span><span class="hl-code"> = </span><span class="hl-identifier">C</span><span class="hl-code"> = </span><span class="hl-number">5</span><span class="hl-code">; </span><span class="hl-comment">//esto es equivalente a lo de arriba</span></pre></div> </div> <p>Con todo esto, doy por concluido el tema de variables. Con lo que saben pueden operar cualquier tipo de variables enteras como quieran, saben los comandos basicos para eso. El siguinte tema son las instrucciones de control del programa, que son las instruccdiones que regulan cuando correr cada una de las lineas del programa y de que forma, repitiendolas, o corriendolas ante una condicion, o repitiendolas mientras alguna condicion.<br /> Suena dificil, asi que pasaremos al primer concepto basico que se relaciona con todo lo anterior.</p> <h2><span><strong>bool</strong></span></h2> <p>Bool es un tipo de dato, parecido al int, pero que en vez de guardar numeros, guarda solo 1&#160;o 0. tiene dos estados posibles contra los 2^32 estados posibles del int. ¿Suena facil?<br /> Desde ahora true equivale a 1, y false equivale a 0, son sinonimos y puedo usarlos a los dos. Al mostrar un bool con cout, se mostrara 0&#160;o 1, pero al escribir el programa puedo usar false o true tambien.</p> <p>Ej:</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">iostream</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdlib.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-comment">//en linux iria stdio.h</span><span class="hl-code"> </span><span class="hl-reserved">using</span><span class="hl-code"> </span><span class="hl-types">namespace</span><span class="hl-code"> </span><span class="hl-identifier">std</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-types">bool</span><span class="hl-code"> </span><span class="hl-identifier">variableA</span><span class="hl-code"> = </span><span class="hl-reserved">true</span><span class="hl-code">; </span><span class="hl-types">bool</span><span class="hl-code"> </span><span class="hl-identifier">variableB</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">variableA</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">variableB</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">system</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">pause</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//en linux se remplaza por el otro comando </span><span class="hl-code"> </span><span class="hl-brackets">}</span></pre></div> </div> <br /> SALIDA <div class="code"> <pre><code>1 0 Presione una tecla para continuar...</code></pre></div> <br /> Se muestran como corresponde los dos valores, no hay mucho que explicar. <h2><span><strong>Operaciones Binarias</strong></span></h2> <p>Al igual que en la electronica (si alguno estudia electronica le sonara conocido, sino, no importa) existen en c++ 3 operaciones binarias para operar variables de tipo bool. Estas son<br /> -and o &amp;&amp;<br /> -or o ||<br /> -not o !</p> <p>funcionan igual que los otros operadores que vimos pero estas operan mas sencillamente.<br /> ejemplos<br /> variableA and variableB<br /> variableA or variableB<br /> not variableA<br /> and da como resultado un 1 si variableA y variableB son 1, or da como resultado 1 si variableA o variableB son 1, y not da sencillamente como resultado el contrario de variableA (si variableA es 0 da 1, si variableB es 1 da 0).</p> <p>Ejemplo:</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">iostream</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdlib.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-comment">//en linux iria stdio.h</span><span class="hl-code"> </span><span class="hl-reserved">using</span><span class="hl-code"> </span><span class="hl-types">namespace</span><span class="hl-code"> </span><span class="hl-identifier">std</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-types">bool</span><span class="hl-code"> </span><span class="hl-identifier">variableA</span><span class="hl-code"> = </span><span class="hl-number">1</span><span class="hl-code">; </span><span class="hl-types">bool</span><span class="hl-code"> </span><span class="hl-identifier">variableB</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-types">bool</span><span class="hl-code"> </span><span class="hl-identifier">rtaA</span><span class="hl-code"> = </span><span class="hl-brackets">(</span><span class="hl-identifier">variableA</span><span class="hl-code"> </span><span class="hl-reserved">and</span><span class="hl-code"> </span><span class="hl-identifier">variableB</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-types">bool</span><span class="hl-code"> </span><span class="hl-identifier">rtaB</span><span class="hl-code"> = </span><span class="hl-brackets">(</span><span class="hl-identifier">variableA</span><span class="hl-code"> || </span><span class="hl-identifier">variableB</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-types">bool</span><span class="hl-code"> </span><span class="hl-identifier">rtaC</span><span class="hl-code"> = </span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">variableA</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-types">bool</span><span class="hl-code"> </span><span class="hl-identifier">rtaD</span><span class="hl-code"> = </span><span class="hl-brackets">(</span><span class="hl-code"> ! </span><span class="hl-brackets">(</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-reserved">not</span><span class="hl-code"> </span><span class="hl-identifier">variableA</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-reserved">or</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">variableB</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//o magia podemos usar parentesis como con las operaciones matematicas.</span><span class="hl-code"> </span><span class="hl-comment">//mostramos</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">rtaA</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">rtaB</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">rtaC</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">rtaD</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">system</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">pause</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//en linux se remplaza por el otro comando </span><span class="hl-code"> </span><span class="hl-brackets">}</span></pre></div> </div> <br /> SALIDA <div class="code"> <pre><code>0 1 0 1 Presione una tecla para continuar...</code></pre></div> <br /> Como se supone, rtaA es 0 porque variableB es 0, ambas deben ser 1 para que sea 1<br /> rtaB es 1 porque variableA es 1, y con cualquiera de las dos en 1 da 1<br /> rtaC es 0 porque es el contrario de rtaA<br /> rtaD es 1 porque el contrario de variableA (0) y variableB son 0 por lo tanto el resultado es 1, pero como hay un not a todo eso, el resultado final es el opuesto, como es 1 se vuelve 0. <h2><span><strong>Expresiones condicionales</strong></span></h2> <p>se tratan de operadores, como por ejemplo == (si son iguales) o != (si son desiguales) o &gt; (mayor) o = (igual) o &gt;= (mayor o igual, en ese orden el &lt; e =), o &lt;= (menor o igual), donde se pueden comparar dos variables y da como resultado un bool que podemos almacenar y es un 1 (si es cierta la condicion) y un 0 si no lo es.<br /> ejemplo:</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">iostream</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdlib.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-comment">//en linux iria stdio.h</span><span class="hl-code"> </span><span class="hl-reserved">using</span><span class="hl-code"> </span><span class="hl-types">namespace</span><span class="hl-code"> </span><span class="hl-identifier">std</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-types">bool</span><span class="hl-code"> </span><span class="hl-identifier">variableA</span><span class="hl-code">; </span><span class="hl-types">bool</span><span class="hl-code"> </span><span class="hl-identifier">variableB</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">numero</span><span class="hl-code"> = </span><span class="hl-number">6</span><span class="hl-code">; </span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">otro_numero</span><span class="hl-code"> = </span><span class="hl-identifier">numero</span><span class="hl-code"> + </span><span class="hl-number">2</span><span class="hl-code">; </span><span class="hl-identifier">variableA</span><span class="hl-code"> = </span><span class="hl-brackets">(</span><span class="hl-identifier">numero</span><span class="hl-code"> &gt;= </span><span class="hl-number">4</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//almacenamos el resultado de la condicion en variableA, siempre en C++ las condiciones van entre ()</span><span class="hl-code"> </span><span class="hl-identifier">variableB</span><span class="hl-code"> = </span><span class="hl-brackets">(</span><span class="hl-identifier">otro_numero</span><span class="hl-code"> != </span><span class="hl-identifier">numero</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//almacenamos el resultado de la condicion en variableB</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">variableA</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">variableB</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-brackets">(</span><span class="hl-identifier">variableA</span><span class="hl-code"> </span><span class="hl-reserved">and</span><span class="hl-code"> </span><span class="hl-identifier">variableB</span><span class="hl-brackets">)</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-comment">//se puede escribir directamente esto mas facil</span><span class="hl-code"> </span><span class="hl-identifier">system</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">pause</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//en linux se remplaza por el otro comando </span><span class="hl-code"> </span><span class="hl-brackets">}</span></pre></div> </div> <br /> SALIDA <div class="code"> <pre><code>1 0 0 Presione una tecla para continuar...</code></pre></div> <br /> como numero, que es 6 es &gt;= 4, la variableA es 1, (true), en cambio variableB es 0 porque otro_numero, que es numero+2, que es 8, es desigual a numero, que es 6 (8 != 6)<br /> el tercer resultado es 0 porque no son las dos variables 1.<br /> Si se entendio esto ya se tiene una gran base sobre condiciones. <h2><span><strong>El if</strong></span></h2> <p>Esta es la primera instruccion de control que veremos. El if se trata de una instruccion que corre un codigo entre {} particular cuando una variable tipo bool que le pongamos sea 1, de lo contrario no se corre. Tiene dos hermanos llamados else y else if. Else es otro bloqeu de codigo entre {} que se corre cuando la bool original no es 1, y else if() sirve para que si no es 1 la condicion original pero otra nueva condicion=variable tipo bool es 1 se corra un bloque nuevo de codigo. Veremos en la practica como se usa.</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">iostream</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdlib.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">string</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-comment">//en linux iria stdio.h</span><span class="hl-code"> </span><span class="hl-reserved">using</span><span class="hl-code"> </span><span class="hl-types">namespace</span><span class="hl-code"> </span><span class="hl-identifier">std</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-comment">//creamos variables y guardamos un espacio de memoria string</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">variable1</span><span class="hl-code"> = </span><span class="hl-number">34</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">variable2</span><span class="hl-code"> = </span><span class="hl-number">32</span><span class="hl-code">; </span><span class="hl-identifier">string</span><span class="hl-code"> </span><span class="hl-identifier">informacion</span><span class="hl-code">; </span><span class="hl-types">bool</span><span class="hl-code"> </span><span class="hl-identifier">condicion1</span><span class="hl-code"> = </span><span class="hl-brackets">(</span><span class="hl-identifier">variable1</span><span class="hl-code"> == </span><span class="hl-identifier">variable2</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-types">bool</span><span class="hl-code"> </span><span class="hl-identifier">condicion2</span><span class="hl-code"> = </span><span class="hl-brackets">(</span><span class="hl-identifier">variable1</span><span class="hl-code"> &gt;= </span><span class="hl-identifier">variable2</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">condicion1</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//se corren estos comandos si condicion1 = 1</span><span class="hl-code"> </span><span class="hl-identifier">informacion</span><span class="hl-code"> = </span><span class="hl-quotes">&quot;</span><span class="hl-string">la condicion 1 es cierta</span><span class="hl-quotes">&quot;</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">condicion2</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//se corren estos comandos si condicion1 = 0 y condicion2 = 1</span><span class="hl-code"> </span><span class="hl-identifier">informacion</span><span class="hl-code"> = </span><span class="hl-quotes">&quot;</span><span class="hl-string">la condicion 2 es cierta</span><span class="hl-quotes">&quot;</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{</span><span class="hl-code"> </span><span class="hl-comment">//se corre si condicion1 = 0 y condicion2 = 0</span><span class="hl-code"> </span><span class="hl-identifier">informacion</span><span class="hl-code"> = </span><span class="hl-quotes">&quot;</span><span class="hl-string">ninguna condicion es cierta</span><span class="hl-quotes">&quot;</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-comment">//mostramos</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">informacion</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-comment">//cout no es solo para enteros sino que tambien puede mostrar strings o sea cadenas de texto. </span><span class="hl-code"> </span><span class="hl-identifier">system</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">pause</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//en linux se remplaza por el otro comando </span><span class="hl-code"> </span><span class="hl-brackets">}</span></pre></div> </div> <br /> SALIDA <div class="code"> <pre><code>la condicion 2 es cierta Presione una tecla para continuar...</code></pre></div> <p>Sale el string la condicion 2 es cierta ya que se corre la linea que le asigna ese valor a informacion, porque la condicion1 es 0, entonces se revisa la segunda condicion, como la segunda condicion si es 1 se corre el codigo de esas llaves. Si ninguna fuera cierta se correria el tercer bloque de codigo.</p> <h2><span><strong>Uso simplificado del if</strong></span></h2> <p>si bien hasta ahora hacemos condiciones y almacenamos su resultado en una variable tipo bool como 1&#160;o 0 (true o false) y luego con el if decimos que se ejecute un codigo si ese bool es 1, para condiciones sencillas se puede poner la condicion con la que obtenemos el bool dentro del if para ocupar menos lineasd de codigo. Sin embargo, cuando trabajamos con condiciones muy largas, es mejor crear primero las variables tipos bool y luego llamar a los if para simplificar como se ve el codigo. Sin importar si entendimos esto, el ultimo codigo de arriba se puede escribir tambien como (y su resultado es el mismo):</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">iostream</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdlib.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">string</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-comment">//en linux iria stdio.h</span><span class="hl-code"> </span><span class="hl-reserved">using</span><span class="hl-code"> </span><span class="hl-types">namespace</span><span class="hl-code"> </span><span class="hl-identifier">std</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-comment">//creamos variables y guardamos un espacio de memoria string</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">variable1</span><span class="hl-code"> = </span><span class="hl-number">34</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">variable2</span><span class="hl-code"> = </span><span class="hl-number">32</span><span class="hl-code">; </span><span class="hl-identifier">string</span><span class="hl-code"> </span><span class="hl-identifier">informacion</span><span class="hl-code">; </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">variable1</span><span class="hl-code"> == </span><span class="hl-identifier">variable2</span><span class="hl-brackets">)){</span><span class="hl-code"> </span><span class="hl-identifier">informacion</span><span class="hl-code"> = </span><span class="hl-quotes">&quot;</span><span class="hl-string">la condicion 1 es cierta</span><span class="hl-quotes">&quot;</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-brackets">((</span><span class="hl-identifier">variable1</span><span class="hl-code"> &gt;= </span><span class="hl-identifier">variable2</span><span class="hl-brackets">)){</span><span class="hl-code"> </span><span class="hl-identifier">informacion</span><span class="hl-code"> = </span><span class="hl-quotes">&quot;</span><span class="hl-string">la condicion 2 es cierta</span><span class="hl-quotes">&quot;</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{</span><span class="hl-code"> </span><span class="hl-comment">//se corre si condicion1 = 0 y condicion2 = 0</span><span class="hl-code"> </span><span class="hl-identifier">informacion</span><span class="hl-code"> = </span><span class="hl-quotes">&quot;</span><span class="hl-string">ninguna condicion es cierta</span><span class="hl-quotes">&quot;</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-comment">//mostramos</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">informacion</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-comment">//cout no es solo para enteros sino que tambien puede mostrar strings o sea cadenas de texto. </span><span class="hl-code"> </span><span class="hl-identifier">system</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">pause</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//en linux se remplaza por el otro comando </span><span class="hl-code"> </span><span class="hl-brackets">}</span></pre></div> </div> <br /> SALIDA <div class="code"> <pre><code>la condicion 2 es cierta Presione una tecla para continuar...</code></pre></div> <p>y es equivalente. Cuando las condiciones son sencillas (1&#160;o 2 terminos) conviene mas usar los if de esta forma.</p> <h2><span><strong>For</strong></span></h2> <p>Esta es una de los comandos mas importantes del lenguaje, y uno de los mas usados en particular en olimpiadas.<br /> Sirve para repetir un conjunto de lineas de codigo una determinada cantidad de veces, que configurandolo correctamente puede ser la cantidad que querramos.<br /> se usa como</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-code"> </span><span class="hl-identifier">creo</span><span class="hl-code"> </span><span class="hl-identifier">una</span><span class="hl-code"> </span><span class="hl-identifier">variable</span><span class="hl-code"> </span><span class="hl-identifier">y</span><span class="hl-code"> </span><span class="hl-identifier">le</span><span class="hl-code"> </span><span class="hl-identifier">asigno</span><span class="hl-code"> </span><span class="hl-identifier">un</span><span class="hl-code"> </span><span class="hl-identifier">valor</span><span class="hl-code"> ; </span><span class="hl-identifier">una</span><span class="hl-code"> </span><span class="hl-identifier">condicion</span><span class="hl-code"> </span><span class="hl-identifier">a</span><span class="hl-code"> </span><span class="hl-identifier">revisar</span><span class="hl-code">, </span><span class="hl-identifier">el</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-identifier">se</span><span class="hl-code"> </span><span class="hl-identifier">mantendra</span><span class="hl-code"> </span><span class="hl-identifier">mientras</span><span class="hl-code"> </span><span class="hl-identifier">su</span><span class="hl-code"> </span><span class="hl-identifier">resultado</span><span class="hl-code"> </span><span class="hl-identifier">sea</span><span class="hl-code"> </span><span class="hl-number">1</span><span class="hl-code"> </span><span class="hl-identifier">o</span><span class="hl-code"> </span><span class="hl-reserved">true</span><span class="hl-code"> ; </span><span class="hl-identifier">que</span><span class="hl-code"> </span><span class="hl-identifier">hago</span><span class="hl-code"> </span><span class="hl-identifier">cada</span><span class="hl-code"> </span><span class="hl-identifier">vez</span><span class="hl-code"> </span><span class="hl-identifier">que</span><span class="hl-code"> </span><span class="hl-identifier">las</span><span class="hl-code"> </span><span class="hl-identifier">lineas</span><span class="hl-code"> </span><span class="hl-identifier">de</span><span class="hl-code"> </span><span class="hl-identifier">codigo</span><span class="hl-code"> </span><span class="hl-identifier">dentro</span><span class="hl-code"> </span><span class="hl-identifier">de</span><span class="hl-code"> </span><span class="hl-identifier">las</span><span class="hl-code"> </span><span class="hl-brackets">{}</span><span class="hl-code"> </span><span class="hl-identifier">se</span><span class="hl-code"> </span><span class="hl-identifier">corren</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//codigo a repetir n veces</span><span class="hl-code"> </span><span class="hl-brackets">}</span></pre></div> </div> <br /> es decir si digo for(a,b,c){ codigo } <p>a, es un codigo donde creo una variable (asigno memoria) de cualquier tipo numerico (si o si),<br /> b, es un codigo de una condicion (las que usan == != &lt;= &gt;= &lt; &lt; y tambien puede tener los and or y not y () que vimos ante). y es revisada, si es 1 continua el for, de lo contrario no<br /> c, es un codigo que se corre cada vez que se corren una vez todos los comandos dentro de las {} del for<br /> codigo, es el codigo a correr cada vez que se corre el for.</p> <p>En un ejemplo practico se entendera mejor</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">iostream</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdlib.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-comment">//en linux iria stdio.h</span><span class="hl-code"> </span><span class="hl-reserved">using</span><span class="hl-code"> </span><span class="hl-types">namespace</span><span class="hl-code"> </span><span class="hl-identifier">std</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">una_variable</span><span class="hl-code"> = </span><span class="hl-number">1</span><span class="hl-code">;</span><span class="hl-identifier">una_variable</span><span class="hl-code"> + </span><span class="hl-number">1</span><span class="hl-code"> &lt; </span><span class="hl-number">10</span><span class="hl-code">;</span><span class="hl-identifier">una_variable</span><span class="hl-code"> = </span><span class="hl-identifier">una_variable</span><span class="hl-code"> + </span><span class="hl-number">2</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">se corrio el for</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">una_variable</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-identifier">system</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">pause</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//en linux el otro que vimos</span><span class="hl-code"> </span><span class="hl-brackets">}</span></pre></div> </div> <br /> y la salida es <div class="code"> <div class="hl-main"> <pre><span class="hl-identifier">se</span><span class="hl-code"> </span><span class="hl-identifier">corrio</span><span class="hl-code"> </span><span class="hl-identifier">el</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-number">1</span><span class="hl-code"> </span><span class="hl-identifier">se</span><span class="hl-code"> </span><span class="hl-identifier">corrio</span><span class="hl-code"> </span><span class="hl-identifier">el</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-number">3</span><span class="hl-code"> </span><span class="hl-identifier">se</span><span class="hl-code"> </span><span class="hl-identifier">corrio</span><span class="hl-code"> </span><span class="hl-identifier">el</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-number">5</span><span class="hl-code"> </span><span class="hl-identifier">se</span><span class="hl-code"> </span><span class="hl-identifier">corrio</span><span class="hl-code"> </span><span class="hl-identifier">el</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-number">7</span><span class="hl-code"> </span><span class="hl-identifier">Presione</span><span class="hl-code"> </span><span class="hl-identifier">una</span><span class="hl-code"> </span><span class="hl-identifier">tecla</span><span class="hl-code"> </span><span class="hl-identifier">para</span><span class="hl-code"> </span><span class="hl-identifier">continuar</span><span class="hl-code">...</span></pre></div> </div> <p>¿Que fue lo que paso?<br /> 1- se inicio el for, y una_variable se reservo en la memoria (=se creo), como tipo int, y se le dio el valor de 1.<br /> 2- se reviso la condicion, como una_variable + 1 &lt; 10 es verdadero, ya que 2 &lt; 10, c++ decide continuar el for<br /> 3- se llamo a todo el codigo dentro de las {}, como una_variable es 1, se mostro un 1 abajo de lo otro</p> <p>4- se corre el tercer dato del for, que dice una_variable = una_variable + 2. por lo tanto una_variable = 1 + 2 = 3, se le asigna 3 a una_variable<br /> 5- se reviso la condicion, como una_variable + 1 &lt; 10 es verdadero, ya que 4 &lt; 10, c++ decide continuar el for<br /> 6- se llamo a todo el codigo dentro de las {}, como una_variable es 3, se mostro un 3 abajo de lo otro</p> <p>7- se corre el tercer dato del for, que dice una_variable = una_variable + 2. por lo tanto una_variable = 3 + 2 = 5, se le asigna 5 a una_variable<br /> 8- se reviso la condicion, como una_variable + 1 &lt; 10 es verdadero, ya que 6 &lt; 10, c++ decide continuar el for<br /> 9- se llamo a todo el codigo dentro de las {}, como una_variable es 5, se mostro un 5 abajo de lo otro</p> <p>10- se corre el tercer dato del for, que dice una_variable = una_variable + 2. por lo tanto una_variable = 5 + 2 = 7, se le asigna 7 a una_variable<br /> 11- se reviso la condicion, como una_variable + 1 &lt; 10 es verdadero, ya que 8 &lt; 10, c++ decide continuar el for<br /> 12- se llamo a todo el codigo dentro de las {}, como una_variable es 7, se mostro un 7 abajo de lo otro</p> <p>13- se corre el tercer dato del for, que dice una_variable = una_variable + 2. por lo tanto una_variable = 7 + 2 = 9, se le asigna 9 a una_variable<br /> 14- se reviso la condicion, como una_variable + 1 &lt; 10 es falso (0), ya que no es cierto que 10 &lt; 10, c++ decide finalizar el for.</p> <p>Con esta secuencia espero que entiendas como funciona el for. Tiene un potencial enorme en las cosas que permite hacer y es la estructura fundamental que se usa en cym.</p> <h2><span><strong>While</strong></span></h2> <p>El while tambien es un comando de c++ importantisimo y es el que usan por ejemplo todos los programas como el navegador o cualquier juego, absolutamente todo programa que tenga una duracion no definida de tiempo que corre. En cym en general los programas corren y terminan en tiempo relativamente corto (mas corto es mejor), por lo que no hay programas donde haya que apretar una cruz para cerrarlos, pero aun asi el while es de mucha utilidad y tambien lo he usado. Su funcionamiento es algo mas sencillo que el del for</p> <div class="code"> <pre><code>while (codicion) { //codigo a correr }</code></pre></div> <br /> condicion es un tipo de dato bool, que puede ser tambien una codicion puesta directamente como en el for.<br /> El funcionamiento consiste que en codigo a correr que esta entre {} que es un conjunto de comandos que mientras la condicion sea true (1), que es revisada siempre antes de correr el codigo a correr, se corra el codigo dentro del programa <p>Ejemplo:</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">iostream</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdlib.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-comment">//en linux iria stdio.h</span><span class="hl-code"> </span><span class="hl-reserved">using</span><span class="hl-code"> </span><span class="hl-types">namespace</span><span class="hl-code"> </span><span class="hl-identifier">std</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">variable</span><span class="hl-code"> = </span><span class="hl-number">1</span><span class="hl-code">; </span><span class="hl-reserved">while</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">variable</span><span class="hl-code"> &lt; </span><span class="hl-number">100</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">variable</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">variable</span><span class="hl-code"> += </span><span class="hl-identifier">variable</span><span class="hl-code">; </span><span class="hl-comment">//esto es nuevo, pero es sencillo, es equivalemte a escribir variable = variable + variable. += significa incrementar el valor de la variable en tanto.</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-identifier">system</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">pause</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//en linux el otro comando</span><span class="hl-code"> </span><span class="hl-brackets">}</span></pre></div> </div> <br /> SALIDA del programa <div class="code"> <pre><code>1 2 4 8 16 32 64 Presione una tecla para continuar...</code></pre></div> <br /> ¿Que sucedio? Hacemos el mismo analisis que con el for<br /> 1- inicializamos variable en 1<br /> 2- empieza el while. es true (1) que variable &lt; 100, 1 &lt; 100 entonces continuamos con el for<br /> 3- se corre el codigo dentro del while. se muestra variable (se muestra un 1&#160;en la pantalla), y luego se hace variable += variable, que equivale a escribir variable = variable + variable. Para escribir menos codigo es. += significa incrementar en tanto el valor de una variable. entonces variable = 1+1 = 2. variable ahora es 2.<br /> 4- es true (1) que variable &lt; 100, 2 &lt; 100 entonces continuamos con el while<br /> 5- se corre el codigo dentro del while. se muestra variable (se muestra un 2&#160;en la pantalla),y se hace variable += variable, variable = 2 + 2 = 4, variable ahora es 4<br /> 6- es true (1) que variable &lt; 100, 4 &lt; 100 entonces continuamos con el while<br /> 7- se corre el codigo dentro del while. se muestra variable (se muestra un 4&#160;en la pantalla),y se hace variable += variable, variable = 4 + 4 = 8, variable ahora es 8<br /> 8- es true (1) que variable &lt; 100, 8 &lt; 100 entonces continuamos con el while<br /> 9- se corre el codigo dentro del while. se muestra variable (se muestra un 8&#160;en la pantalla),y se hace variable += variable, variable = 8 + 8 = 16, variable ahora es 16<br /> 10- es true (1) que variable &lt; 100, 16 &lt; 100 entonces continuamos con el while<br /> 11- se corre el codigo dentro del while. se muestra variable (se muestra un 16&#160;en la pantalla),y se hace variable += variable, variable = 16 + 16 = 32, variable ahora es 32<br /> 12- es true (1) que variable &lt; 100, 32 &lt; 100 entonces continuamos con el while<br /> 13- se corre el codigo dentro del while. se muestra variable (se muestra un 32&#160;en la pantalla),y se hace variable += variable, variable = 32 + 32 = 64, variable ahora es 64<br /> 14- es true (1) que variable &lt; 100, 64 &lt; 100 entonces continuamos con el while<br /> 15- se corre el codigo dentro del while. se muestra variable (se muestra un 64&#160;en la pantalla),y se hace variable += variable, variable = 64 + 64 = 128, variable ahora es 128<br /> 14- es false (0) que variable &lt; 100, 128 &lt; 100 entonces finalizamos con el while <p>de casualidad dieron las potencias de 2, puede ser algo trivial pero si no se te ocurre porque podes hacer tu primer razonamiento interesante en cym, porque este programa da justo las potencias de dos? Es para pensarlo un ratito :)</p> <p>con esto ya se debio haber entendido el while. Esperemos ;)</p> <h2><span><strong>Switch (case)</strong></span></h2> <p>el switch es la ultima estructura de control que veremos. consiste en un simplificador de ifs, por lo que si ya entendes el if, sera algo muy sencillo.<br /> consiste en poner una variable como foco (pensalo abstractamente no concretamente sino se hace lio), y poner que si esa variable enfocada es algo, correr un codigo, si esa variable enfocada es otra cosa, ejecutar otro codigo y si esa variable no es ninguna de las cosas anteriores (default) hacer otra cosa mas</p> <p>Tiene una sintaxis muy particular que es una de las pocas que rompe la estructura de c++ de las llaves ({})</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">iostream</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdlib.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-comment">//en linux iria stdio.h</span><span class="hl-code"> </span><span class="hl-reserved">using</span><span class="hl-code"> </span><span class="hl-types">namespace</span><span class="hl-code"> </span><span class="hl-identifier">std</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">variable</span><span class="hl-code"> = </span><span class="hl-number">10</span><span class="hl-code">; </span><span class="hl-reserved">switch</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">variable</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">case</span><span class="hl-code"> </span><span class="hl-number">5</span><span class="hl-code">: </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">la variable es 5</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-reserved">break</span><span class="hl-code">; </span><span class="hl-reserved">case</span><span class="hl-code"> </span><span class="hl-number">3</span><span class="hl-code">: </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">la variable es 3</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-reserved">break</span><span class="hl-code">; </span><span class="hl-reserved">case</span><span class="hl-code"> </span><span class="hl-number">10</span><span class="hl-code">: </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">la variable es 10</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-reserved">break</span><span class="hl-code">; </span><span class="hl-reserved">default</span><span class="hl-code">: </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">la variable no es ni 5, ni 3, ni 10</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-reserved">break</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-identifier">system</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">pause</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//en linux el otro comando</span><span class="hl-code"> </span><span class="hl-brackets">}</span></pre></div> </div> <br /> SALIDA <div class="code"> <div class="hl-main"> <pre><span class="hl-identifier">la</span><span class="hl-code"> </span><span class="hl-identifier">variable</span><span class="hl-code"> </span><span class="hl-identifier">es</span><span class="hl-code"> </span><span class="hl-number">10</span></pre></div> </div> <p>muy raro seguramente. bueno, primero enfoco variable. si variable es 5, se va a correr el codigo desde case (caso) 5 hasta el break; , si es 3 se va a correr desde case (caso) 3 hasta el siguiente break; si es 10 se va a correr desde el case 10 hasta el break; y si no es ninguno de esos se va a correr el default hasta el ultimo break;<br /> como variable es 10, se corrio el codigo desde case 10 hasta el break siguiente. Si variable hubiera sido 8 por ejemplo se hubera corrido el codigo del default, la variable no es ni 5, ni 3, ni 10, y si hubiera sido 5, se hubiera corrido el codigo del case 5, que es mostrar la variable es 5. Esto se podria haber hecho con ifs poniendo que</p> <div class="code"> <pre><code>if (variable == 5){ cout&lt;&lt;&quot;la variable es 5&quot;&lt;&lt;endl; }else if(variable == 3){ cout&lt;&lt;&quot;la variable es 3&quot;&lt;&lt;endl; }else if(variable == 10){ cout&lt;&lt;&quot;la variable es 10&quot;&lt;&lt;endl; }else{ cout&lt;&lt;&quot;la variable no es ni 5, ni 3, ni 10&quot;&lt;&lt;endl; }</code></pre></div> <br /> que es lo mismo, pero, son gustos y el switch ahorra escribir todo el tiepo if (tanto == tal valor), ya que enfocas una variable y directamente pones los valores que tiene que tener para que pase una cosa <h2><span><strong>Operadores ternarios</strong></span></h2> <p>Son ifs, pero puestos de otra manera. Lo explico porque despues van a ver codigos de otras personas que los usen y si no saben como se les va a costar entenderlos. No corren codigo como el if sino que sirven para asignar un valor u otro a una variable con una codicion si tener que escribir el nombre de la variable 2 veces<br /> Se escribe como</p> <p>( tipo bool (o condicion directamente) ) ? (si es 1) : (si es 0)</p> <p>solo sirve para asignar valores es decir se usa como<br /> variable = condicional ? valor si es 1 condicional : valor si es 0 condicional</p> <p>si la condicional da como resultado 1, variable es el valor que esta despues del ? sino, variable es el valor puesto despues del :<br /> Ejemplo</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">iostream</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdlib.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-comment">//en linux iria stdio.h</span><span class="hl-code"> </span><span class="hl-reserved">using</span><span class="hl-code"> </span><span class="hl-types">namespace</span><span class="hl-code"> </span><span class="hl-identifier">std</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-types">bool</span><span class="hl-code"> </span><span class="hl-identifier">condicion</span><span class="hl-code"> = </span><span class="hl-reserved">false</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">variable</span><span class="hl-code"> = </span><span class="hl-identifier">condicion</span><span class="hl-code"> ? </span><span class="hl-number">5</span><span class="hl-code"> : </span><span class="hl-number">2</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">variable</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">system</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">pause</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-comment">//en linux el otro comando</span><span class="hl-code"> </span><span class="hl-brackets">}</span></pre></div> </div> <br /> SALIDA <div class="code"> <div class="hl-main"> <pre><span class="hl-number">2</span></pre></div> </div> <br /> como condicion es false se le asigna a variable el valor despues del :, el 2 <p>tambien se puede usar con el cout</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">iostream</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdlib.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-comment">//en linux iria stdio.h</span><span class="hl-code"> </span><span class="hl-reserved">using</span><span class="hl-code"> </span><span class="hl-types">namespace</span><span class="hl-code"> </span><span class="hl-identifier">std</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">variable</span><span class="hl-code"> = </span><span class="hl-number">5</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-brackets">(</span><span class="hl-identifier">variable</span><span class="hl-code"> &gt; </span><span class="hl-number">4</span><span class="hl-code"> ? </span><span class="hl-quotes">&quot;</span><span class="hl-string">hola</span><span class="hl-quotes">&quot;</span><span class="hl-code"> : </span><span class="hl-quotes">&quot;</span><span class="hl-string">chau</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">system</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">pause</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-brackets">}</span></pre></div> </div> <br /> SALIDA <div class="code"> <div class="hl-main"> <pre><span class="hl-identifier">hola</span></pre></div> </div> <p>como variable &gt; 4, se procede a mostrar el valor despues del ?, si variable no fuera &gt; 4 se mostraria el chau.</p> <h2><span><strong>La programacion es libertad</strong></span></h2> <p>Ultimo concepto que es para que todos hagan click. El c++ y la programacion en general no se limita a permitir un for o un while por separado. Uno puede combinarlos poner uno adentro del otro o uno despues del otro, un while adentro de un for adentro de un if, adentro de otro if. Por ejemplo en vez de hacer condA &amp;&amp; condB en un if se puede hacer</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">condA</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">condB</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span></pre></div> </div> <br /> o incluso <div class="code"> <div class="hl-main"> <pre><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">condA</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">condB</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">a</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">a</span><span class="hl-code"> &lt; </span><span class="hl-number">100</span><span class="hl-code">;</span><span class="hl-identifier">a</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">b</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-reserved">while</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">b</span><span class="hl-code"> &lt; </span><span class="hl-number">100</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">j</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">j</span><span class="hl-code"> &lt; </span><span class="hl-number">100</span><span class="hl-code">;</span><span class="hl-identifier">j</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">w</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">w</span><span class="hl-code"> &lt;= </span><span class="hl-number">234</span><span class="hl-code">;</span><span class="hl-identifier">w</span><span class="hl-code">+=</span><span class="hl-number">3</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">w</span><span class="hl-code"> == </span><span class="hl-number">244</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">hola</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span></pre></div> </div> <br /> son lineas sin sentido pero se tiene que entender la idea de que cualquier cosa puede ir dentro de cualquier otra para resolver problemas, si es necesario <p>Con todo esto explicado, ya tenes el conocimiento basico para resolver los ejercicios de olimpiadas mas faciles. Faltan todavia muchos temas, y en la semana viene el tutorial intermedio/avanzado de c++, pero con esto explicado ya sabes todas los comandos de variables de c++, y de control del flujo del programa. Suerte y a probar resolver ejercicios.</p> <p>saludos</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-755125</guid>
				<title>Programar</title>
				<link>http://cym.wikidot.com/forum/t-755125/programar</link>
				<description>Sitio web para aprender a programar</description>
				<pubDate>Sat, 28 Dec 2013 20:25:05 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Program.AR (<a href="http://www.programar.gob.ar/">http://www.programar.gob.ar/</a>) es un sitio web que tiene material y herramientas para aprender los rudimentos de la programación. ¡Puede servirte para animarte a participar en CyM!</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-719271</guid>
				<title>Ronda Nacional de CyM 2013</title>
				<link>http://cym.wikidot.com/forum/t-719271/ronda-nacional-de-cym-2013</link>
				<description>Información sobre la Ronda Nacional del 16to Torneo de Computación y Matemática.</description>
				<pubDate>Mon, 04 Nov 2013 11:31:36 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>La Ronda Nacional de CyM 2013 es esta semana: del 6 al 8 de noviembre. Ya están disponibles los <a href="http://www.oma.org.ar/nacional/cym/#nacional">detalles</a>, en la <a href="http://www.oma.org.ar/nacional/cym/">página de CyM</a>.</p> <p>¡Nos vemos!</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-690754</guid>
				<title>Ronda Zonal de CyM 2013</title>
				<link>http://cym.wikidot.com/forum/t-690754/ronda-zonal-de-cym-2013</link>
				<description>Es dentro de poco. :-)</description>
				<pubDate>Mon, 02 Sep 2013 20:58:09 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>La Ronda Zonal del 16to Torneo de Computación y Matemática es el viernes 20 de septiembre de 2013, de 14:00 a 17:00. Más información: como siempre en la página web de CyM, <a href="http://www.oma.org.ar/nacional/cym/">http://www.oma.org.ar/nacional/cym/</a></p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-690751</guid>
				<title>Ronda Intercolegial de CyM 2013</title>
				<link>http://cym.wikidot.com/forum/t-690751/ronda-intercolegial-de-cym-2013</link>
				<description></description>
				<pubDate>Mon, 02 Sep 2013 20:54:23 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>¡CyM 2013 ya comenzó!</p> <p>La Ronda Intercolegial del 16to Torneo de Computación y Matemática fue el viernes 23 de Agosto de 2013.</p> <p>Disfruten el Torneo. :-)</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-578544</guid>
				<title>Forma de descomponer los digitos de un numero</title>
				<link>http://cym.wikidot.com/forum/t-578544/forma-de-descomponer-los-digitos-de-un-numero</link>
				<description></description>
				<pubDate>Sun, 28 Oct 2012 18:00:56 +0000</pubDate>
				<wikidot:authorName>Newtonis penguin</wikidot:authorName>				<wikidot:authorUserId>1469664</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p><strong>Codigo para poner todas las cifras de un numero en un vector ordenado:</strong></p> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">iostream</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">vector</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdlib.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdio.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">time.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">cmath</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-reserved">using</span><span class="hl-code"> </span><span class="hl-types">namespace</span><span class="hl-code"> </span><span class="hl-identifier">std</span><span class="hl-code">; </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">cifras</span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">numero</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//funcion para sacar digitos de un numero y almacenarlos en una lista</span><span class="hl-code"> </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">ci</span><span class="hl-code">; </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">m</span><span class="hl-code"> = </span><span class="hl-number">10</span><span class="hl-code">; </span><span class="hl-identifier">m</span><span class="hl-code"> &lt; </span><span class="hl-identifier">numero</span><span class="hl-code">*</span><span class="hl-number">10</span><span class="hl-code">;</span><span class="hl-identifier">m</span><span class="hl-code"> = </span><span class="hl-identifier">m</span><span class="hl-code">*</span><span class="hl-number">10</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">n</span><span class="hl-code"> = </span><span class="hl-identifier">numero</span><span class="hl-code"> % </span><span class="hl-identifier">m</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">n2</span><span class="hl-code"> = </span><span class="hl-identifier">numero</span><span class="hl-code"> % </span><span class="hl-brackets">(</span><span class="hl-identifier">m</span><span class="hl-code"> / </span><span class="hl-number">10</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">n3</span><span class="hl-code"> = </span><span class="hl-identifier">n</span><span class="hl-code"> - </span><span class="hl-identifier">n2</span><span class="hl-code">; </span><span class="hl-identifier">n3</span><span class="hl-code"> = </span><span class="hl-identifier">n3</span><span class="hl-code"> / </span><span class="hl-brackets">(</span><span class="hl-identifier">m</span><span class="hl-code">/</span><span class="hl-number">10</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">ci</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">n3</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-identifier">ci</span><span class="hl-code">; </span><span class="hl-brackets">}</span></pre></div> </div> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-578504</guid>
				<title>Mi solucion Ejercicio 6 nacional 2012 nivel 2</title>
				<link>http://cym.wikidot.com/forum/t-578504/mi-solucion-ejercicio-6-nacional-2012-nivel-2</link>
				<description></description>
				<pubDate>Sun, 28 Oct 2012 15:10:39 +0000</pubDate>
				<wikidot:authorName>Newtonis penguin</wikidot:authorName>				<wikidot:authorUserId>1469664</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Mi solucion ejercicio 6 nacional que dice:</p> <div class="code"> <pre><code>Encontrar todos los números N de cuatro cifras, tales que de las cifras que aparecen en N² no haya ninguna que aparece en N.</code></pre></div> <br /> <strong>Codigo:</strong> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">iostream</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">vector</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdlib.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdio.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">time.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">cmath</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-reserved">using</span><span class="hl-code"> </span><span class="hl-types">namespace</span><span class="hl-code"> </span><span class="hl-identifier">std</span><span class="hl-code">; </span><span class="hl-mlcomment">/*solucion de Ariel Nowik */</span><span class="hl-code"> </span><span class="hl-comment">//Encontrar todos los números N de cuatro cifras, tales que de las cifras que aparecen en N² no haya ninguna que aparece en N.</span><span class="hl-code"> </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">cifras</span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">numero</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//funcion para sacar digitos de un numero y almacenarlos en una lista</span><span class="hl-code"> </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">ci</span><span class="hl-code">; </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">m</span><span class="hl-code"> = </span><span class="hl-number">10</span><span class="hl-code">; </span><span class="hl-identifier">m</span><span class="hl-code"> &lt; </span><span class="hl-identifier">numero</span><span class="hl-code">*</span><span class="hl-number">10</span><span class="hl-code">;</span><span class="hl-identifier">m</span><span class="hl-code"> = </span><span class="hl-identifier">m</span><span class="hl-code">*</span><span class="hl-number">10</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">n</span><span class="hl-code"> = </span><span class="hl-identifier">numero</span><span class="hl-code"> % </span><span class="hl-identifier">m</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">n2</span><span class="hl-code"> = </span><span class="hl-identifier">numero</span><span class="hl-code"> % </span><span class="hl-brackets">(</span><span class="hl-identifier">m</span><span class="hl-code"> / </span><span class="hl-number">10</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">n3</span><span class="hl-code"> = </span><span class="hl-identifier">n</span><span class="hl-code"> - </span><span class="hl-identifier">n2</span><span class="hl-code">; </span><span class="hl-identifier">n3</span><span class="hl-code"> = </span><span class="hl-identifier">n3</span><span class="hl-code"> / </span><span class="hl-brackets">(</span><span class="hl-identifier">m</span><span class="hl-code">/</span><span class="hl-number">10</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">ci</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">n3</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-identifier">ci</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">aparecen</span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">n</span><span class="hl-code">,</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">nn</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//funcion para revisar lo que pide el problema con cada numero</span><span class="hl-code"> </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">cn</span><span class="hl-code"> = </span><span class="hl-identifier">cifras</span><span class="hl-brackets">(</span><span class="hl-identifier">n</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">cnn</span><span class="hl-code"> = </span><span class="hl-identifier">cifras</span><span class="hl-brackets">(</span><span class="hl-identifier">nn</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">x</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">x</span><span class="hl-code"> &lt; </span><span class="hl-identifier">cnn</span><span class="hl-code">.</span><span class="hl-identifier">size</span><span class="hl-brackets">()</span><span class="hl-code">;</span><span class="hl-identifier">x</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">y</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">y</span><span class="hl-code"> &lt; </span><span class="hl-identifier">cn</span><span class="hl-code">.</span><span class="hl-identifier">size</span><span class="hl-brackets">()</span><span class="hl-code">;</span><span class="hl-identifier">y</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">cnn</span><span class="hl-brackets">[</span><span class="hl-identifier">x</span><span class="hl-brackets">]</span><span class="hl-code"> == </span><span class="hl-identifier">cn</span><span class="hl-brackets">[</span><span class="hl-identifier">y</span><span class="hl-brackets">]){</span><span class="hl-code"> </span><span class="hl-reserved">break</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">y</span><span class="hl-code"> == </span><span class="hl-identifier">cn</span><span class="hl-code">.</span><span class="hl-identifier">size</span><span class="hl-brackets">()</span><span class="hl-code">-</span><span class="hl-number">1</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-reserved">false</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-reserved">true</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">soluciones</span><span class="hl-code">; </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">n</span><span class="hl-code"> = </span><span class="hl-number">1000</span><span class="hl-code">;</span><span class="hl-identifier">n</span><span class="hl-code"> &lt; </span><span class="hl-number">10000</span><span class="hl-code">;</span><span class="hl-identifier">n</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">aparecen</span><span class="hl-brackets">(</span><span class="hl-identifier">n</span><span class="hl-code">,</span><span class="hl-identifier">n</span><span class="hl-code">*</span><span class="hl-identifier">n</span><span class="hl-brackets">)</span><span class="hl-code"> == </span><span class="hl-reserved">true</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//si se cumplen las condiciones del problema se almacena la solucion en una lista</span><span class="hl-code"> </span><span class="hl-identifier">soluciones</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">n</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">x</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">x</span><span class="hl-code"> &lt; </span><span class="hl-identifier">soluciones</span><span class="hl-code">.</span><span class="hl-identifier">size</span><span class="hl-brackets">()</span><span class="hl-code">;</span><span class="hl-identifier">x</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//se imprimen las soluciones</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">------------------------------------</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">SOLUCION </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">x</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">:</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">N = </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">soluciones</span><span class="hl-brackets">[</span><span class="hl-identifier">x</span><span class="hl-brackets">]</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">N * N = </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">soluciones</span><span class="hl-brackets">[</span><span class="hl-identifier">x</span><span class="hl-brackets">]</span><span class="hl-code">*</span><span class="hl-identifier">soluciones</span><span class="hl-brackets">[</span><span class="hl-identifier">x</span><span class="hl-brackets">]</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">------------------------------------</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">RTA: Hay </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">soluciones</span><span class="hl-code">.</span><span class="hl-identifier">size</span><span class="hl-brackets">()</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string"> soluciones</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">------------------------------------</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-brackets">}</span></pre></div> </div> <br /> <strong>Salida del programa:</strong> <div class="code"> <pre><code>------------------------------------ SOLUCION 0: N = 1000 N * N = 1000000 ------------------------------------ ------------------------------------ SOLUCION 1: N = 1049 N * N = 1100401 ------------------------------------ ------------------------------------ SOLUCION 2: N = 1235 N * N = 1525225 ------------------------------------ ------------------------------------ SOLUCION 3: N = 2350 N * N = 5522500 ------------------------------------ ------------------------------------ SOLUCION 4: N = 2983 N * N = 8898289 ------------------------------------ ------------------------------------ SOLUCION 5: N = 4762 N * N = 22676644 ------------------------------------ ------------------------------------ SOLUCION 6: N = 4832 N * N = 23348224 ------------------------------------ RTA: Hay 7 soluciones ------------------------------------</code></pre></div> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-578503</guid>
				<title>Mi solucion Ejercicio 5 nacional 2012 nivel 2</title>
				<link>http://cym.wikidot.com/forum/t-578503/mi-solucion-ejercicio-5-nacional-2012-nivel-2</link>
				<description></description>
				<pubDate>Sun, 28 Oct 2012 15:03:49 +0000</pubDate>
				<wikidot:authorName>Newtonis penguin</wikidot:authorName>				<wikidot:authorUserId>1469664</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Mi solucion ejercicio 5 nacional que dice:</p> <div class="code"> <pre><code>Gastón escribe para cada numero N entero positivo la tira de numeros 1³+N, 2³+N, 3³+N, 4³+N, 5³+N, 6³+N, ...,1000³+N. Encontrar los 10 valores mas chicos de N para los cuales su correspondiente tira con tiene ningun numero primo.</code></pre></div> <p><strong>Codigo:</strong></p> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">iostream</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">vector</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdlib.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdio.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">time.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">cmath</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-reserved">using</span><span class="hl-code"> </span><span class="hl-types">namespace</span><span class="hl-code"> </span><span class="hl-identifier">std</span><span class="hl-code">; </span><span class="hl-comment">//solucion de Ariel Nowik</span><span class="hl-code"> </span><span class="hl-comment">//Gastón escribe para cada numero N entero positivo la</span><span class="hl-code"> </span><span class="hl-comment">//tira de numeros 1³+N, 2³+N, 3³+N, 4³+N, 5³+N, 6³+N, ...,1000³+N.</span><span class="hl-code"> </span><span class="hl-comment">//Encontrar los 10 valores mas chicos de N para</span><span class="hl-code"> </span><span class="hl-comment">//los cuales su correspondiente tira con tiene ningun numero primo.</span><span class="hl-code"> </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">divisores</span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">numero</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//funcion para obtener los divisores de un numero</span><span class="hl-code"> </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">divi</span><span class="hl-code">; </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">p</span><span class="hl-code"> = </span><span class="hl-number">1</span><span class="hl-code">;</span><span class="hl-identifier">p</span><span class="hl-code">*</span><span class="hl-identifier">p</span><span class="hl-code">-</span><span class="hl-number">1</span><span class="hl-code"> &lt; </span><span class="hl-identifier">numero</span><span class="hl-code">;</span><span class="hl-identifier">p</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">numero</span><span class="hl-code"> % </span><span class="hl-identifier">p</span><span class="hl-code"> == </span><span class="hl-number">0</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">np</span><span class="hl-code"> = </span><span class="hl-identifier">numero</span><span class="hl-code"> / </span><span class="hl-identifier">p</span><span class="hl-code">; </span><span class="hl-identifier">divi</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">p</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">divi</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">np</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-identifier">divi</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">primo</span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">numero</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//funcion para averiguar si un numero es primo</span><span class="hl-code"> </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">div</span><span class="hl-code"> = </span><span class="hl-identifier">divisores</span><span class="hl-brackets">(</span><span class="hl-identifier">numero</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">div</span><span class="hl-code">.</span><span class="hl-identifier">size</span><span class="hl-brackets">()</span><span class="hl-code"> == </span><span class="hl-number">2</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-reserved">true</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-reserved">false</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">hacer_tira</span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">numero</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//funcion para revisar las condiciones del enunciado</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">s</span><span class="hl-code"> = </span><span class="hl-number">1</span><span class="hl-code">;</span><span class="hl-identifier">s</span><span class="hl-code"> &lt; </span><span class="hl-number">1001</span><span class="hl-code">;</span><span class="hl-identifier">s</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">primo</span><span class="hl-brackets">(</span><span class="hl-identifier">s</span><span class="hl-code">*</span><span class="hl-identifier">s</span><span class="hl-code">*</span><span class="hl-identifier">s</span><span class="hl-code">+</span><span class="hl-identifier">numero</span><span class="hl-brackets">)</span><span class="hl-code"> == </span><span class="hl-reserved">true</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-reserved">false</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-reserved">true</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">n</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-types">bool</span><span class="hl-code"> </span><span class="hl-identifier">resuelto</span><span class="hl-code"> = </span><span class="hl-reserved">false</span><span class="hl-code">; </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">soluciones</span><span class="hl-code">; </span><span class="hl-comment">//hacemos que se pruebe n hasta que se hallen 10 valores que cumplan con las condiciones</span><span class="hl-code"> </span><span class="hl-reserved">while</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">resuelto</span><span class="hl-code"> != </span><span class="hl-reserved">true</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">hacer_tira</span><span class="hl-brackets">(</span><span class="hl-identifier">n</span><span class="hl-brackets">)</span><span class="hl-code"> == </span><span class="hl-reserved">true</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//si se cumplen se imprime y almacena n en un vector</span><span class="hl-code"> </span><span class="hl-identifier">soluciones</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">n</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">------------------------------------</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">SOLUCION </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">soluciones</span><span class="hl-code">.</span><span class="hl-identifier">size</span><span class="hl-brackets">()</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">:</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">N = </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">n</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">------------------------------------</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">soluciones</span><span class="hl-code">.</span><span class="hl-identifier">size</span><span class="hl-brackets">()</span><span class="hl-code"> &gt; </span><span class="hl-number">9</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">resuelto</span><span class="hl-code"> = </span><span class="hl-reserved">true</span><span class="hl-code">; </span><span class="hl-comment">// si ya se imprimieron 10 soluciones se termina</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-identifier">n</span><span class="hl-code">++; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">escriba algo y presione enter para continuar . . .</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">h</span><span class="hl-code">; </span><span class="hl-identifier">cin</span><span class="hl-code">&gt;&gt;</span><span class="hl-identifier">h</span><span class="hl-code">; </span><span class="hl-brackets">}</span></pre></div> </div> <br /> <strong>Salida del programa:</strong> <div class="code"> <pre><code>------------------------------------ SOLUCION 1: N = 8 ------------------------------------ SOLUCION 2: N = 27 ------------------------------------ SOLUCION 3: N = 64 ------------------------------------ SOLUCION 4: N = 125 ------------------------------------ SOLUCION 5: N = 216 ------------------------------------ SOLUCION 6: N = 343 ------------------------------------ SOLUCION 7: N = 512 ------------------------------------ SOLUCION 8: N = 729 ------------------------------------ SOLUCION 9: N = 1000 ------------------------------------ SOLUCION 10: N = 1331 ------------------------------------</code></pre></div> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-578498</guid>
				<title>Mi solucion Ejercicio 4 nacional 2012 nivel 2</title>
				<link>http://cym.wikidot.com/forum/t-578498/mi-solucion-ejercicio-4-nacional-2012-nivel-2</link>
				<description></description>
				<pubDate>Sun, 28 Oct 2012 13:58:33 +0000</pubDate>
				<wikidot:authorName>Newtonis penguin</wikidot:authorName>				<wikidot:authorUserId>1469664</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Mi solucion del ejercicio 4 del nacional 2012 nivel 2 que dice:</p> <div class="code"> <pre><code>¿Cuántas ternas de numeros enteros positivos (X,Y,Z), todos menores que 1000, hay tales que X² + Y² + Z² es un numero que termina en por lo menos seis ceros?</code></pre></div> <br /> <strong>Codigo:</strong> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">iostream</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">vector</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdlib.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdio.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">time.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-reserved">using</span><span class="hl-code"> </span><span class="hl-types">namespace</span><span class="hl-code"> </span><span class="hl-identifier">std</span><span class="hl-code">; </span><span class="hl-comment">//solucion de Ariel Nowik */</span><span class="hl-code"> </span><span class="hl-comment">//¿Cuántas ternas de numeros enteros positivos (X,Y,Z), todos menores que 1000, </span><span class="hl-code"> </span><span class="hl-comment">//hay tales que X² + Y² + Z² es un numero que termina en por lo menos seis ceros?*/</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">random</span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">start</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">stop</span><span class="hl-code"> = </span><span class="hl-number">1</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//funcion para generar numeros al azar</span><span class="hl-code"> </span><span class="hl-identifier">stop</span><span class="hl-code"> = </span><span class="hl-identifier">stop</span><span class="hl-code"> - </span><span class="hl-number">1</span><span class="hl-code">; </span><span class="hl-types">unsigned</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">iseed</span><span class="hl-code"> = </span><span class="hl-brackets">(</span><span class="hl-types">unsigned</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-brackets">)</span><span class="hl-identifier">time</span><span class="hl-brackets">(</span><span class="hl-prepro">NULL</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">srand</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">iseed</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">ran</span><span class="hl-code"> = </span><span class="hl-identifier">rand</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-types">float</span><span class="hl-brackets">(</span><span class="hl-identifier">ran</span><span class="hl-brackets">)</span><span class="hl-code"> / </span><span class="hl-types">float</span><span class="hl-brackets">(</span><span class="hl-identifier">RAND_MAX</span><span class="hl-brackets">)</span><span class="hl-code"> * </span><span class="hl-brackets">(</span><span class="hl-identifier">stop</span><span class="hl-code">-</span><span class="hl-identifier">start</span><span class="hl-brackets">)</span><span class="hl-code"> + </span><span class="hl-identifier">start</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt; </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; &gt; </span><span class="hl-identifier">sols</span><span class="hl-code">; </span><span class="hl-comment">//for para x y z</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">x</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">x</span><span class="hl-code"> &lt; </span><span class="hl-number">1000</span><span class="hl-code">;</span><span class="hl-identifier">x</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">y</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">y</span><span class="hl-code"> &lt; </span><span class="hl-number">1000</span><span class="hl-code">;</span><span class="hl-identifier">y</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">z</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">z</span><span class="hl-code"> &lt; </span><span class="hl-number">1000</span><span class="hl-code">;</span><span class="hl-identifier">z</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//se revisa si termina en 6 ceros x*x + y*y + z*z</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">((</span><span class="hl-identifier">x</span><span class="hl-code">*</span><span class="hl-identifier">x</span><span class="hl-code">+</span><span class="hl-identifier">y</span><span class="hl-code">*</span><span class="hl-identifier">y</span><span class="hl-code">+</span><span class="hl-identifier">z</span><span class="hl-code">*</span><span class="hl-identifier">z</span><span class="hl-brackets">)</span><span class="hl-code"> % </span><span class="hl-number">1000000</span><span class="hl-code"> == </span><span class="hl-number">0</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//se almacena la solucion</span><span class="hl-code"> </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">xyz</span><span class="hl-code">; </span><span class="hl-identifier">xyz</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">x</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">xyz</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">y</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">xyz</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">z</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">sols</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">xyz</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-comment">//para imprimir el porcentaje actual del progreso del programa</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">porc</span><span class="hl-code"> = </span><span class="hl-identifier">x</span><span class="hl-code"> / </span><span class="hl-number">10</span><span class="hl-code">; </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">porc</span><span class="hl-code"> % </span><span class="hl-number">4</span><span class="hl-code"> == </span><span class="hl-number">0</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">a</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">a</span><span class="hl-code"> &lt; </span><span class="hl-number">30</span><span class="hl-code">;</span><span class="hl-identifier">a</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">x</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">x</span><span class="hl-code"> &lt; </span><span class="hl-identifier">porc</span><span class="hl-code">;</span><span class="hl-identifier">x</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">#</span><span class="hl-quotes">&quot;</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">porc</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">%</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-comment">//se imprime una solucion al azar y la cantidad de soluciones</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">num</span><span class="hl-code"> = </span><span class="hl-identifier">random</span><span class="hl-brackets">(</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-identifier">sols</span><span class="hl-code">.</span><span class="hl-identifier">size</span><span class="hl-brackets">())</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">------------------------------------</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">SOLUCION DE PRUEBA AL AZAR (ID = </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">num</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">) :</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">X = </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">sols</span><span class="hl-brackets">[</span><span class="hl-identifier">num</span><span class="hl-brackets">][</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">Y = </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">sols</span><span class="hl-brackets">[</span><span class="hl-identifier">num</span><span class="hl-brackets">][</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">Z = </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">sols</span><span class="hl-brackets">[</span><span class="hl-identifier">num</span><span class="hl-brackets">][</span><span class="hl-number">2</span><span class="hl-brackets">]</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">X * X + Y * Y + Z * Z = </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">sols</span><span class="hl-brackets">[</span><span class="hl-identifier">num</span><span class="hl-brackets">][</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">*</span><span class="hl-identifier">sols</span><span class="hl-brackets">[</span><span class="hl-identifier">num</span><span class="hl-brackets">][</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">+</span><span class="hl-identifier">sols</span><span class="hl-brackets">[</span><span class="hl-identifier">num</span><span class="hl-brackets">][</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code">*</span><span class="hl-identifier">sols</span><span class="hl-brackets">[</span><span class="hl-identifier">num</span><span class="hl-brackets">][</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code">+</span><span class="hl-identifier">sols</span><span class="hl-brackets">[</span><span class="hl-identifier">num</span><span class="hl-brackets">][</span><span class="hl-number">2</span><span class="hl-brackets">]</span><span class="hl-code">*</span><span class="hl-identifier">sols</span><span class="hl-brackets">[</span><span class="hl-identifier">num</span><span class="hl-brackets">][</span><span class="hl-number">2</span><span class="hl-brackets">]</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">------------------------------------</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">RTA: Hay unas </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">sols</span><span class="hl-code">.</span><span class="hl-identifier">size</span><span class="hl-brackets">()</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string"> soluciones</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">------------------------------------</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">escriba algo y presione enter para continuar . . .</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">h</span><span class="hl-code">; </span><span class="hl-identifier">cin</span><span class="hl-code">&gt;&gt;</span><span class="hl-identifier">h</span><span class="hl-code">; </span><span class="hl-brackets">}</span></pre></div> </div> <br /> <strong>Salida del programa:</strong> <div class="code"> <pre><code>------------------------------------ SOLUCION DE PRUEBA AL AZAR (ID = 67) : X = 632 Y = 824 Z = 960 ------------------------------------ RTA: Hay unas 133 soluciones ------------------------------------</code></pre></div> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-578486</guid>
				<title>Mi solucion Ejercicio 3 nacional 2012 nivel 2</title>
				<link>http://cym.wikidot.com/forum/t-578486/mi-solucion-ejercicio-3-nacional-2012-nivel-2</link>
				<description></description>
				<pubDate>Sun, 28 Oct 2012 13:12:33 +0000</pubDate>
				<wikidot:authorName>Newtonis penguin</wikidot:authorName>				<wikidot:authorUserId>1469664</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Mi solucion del ejercicio 3 nacional que dice:</p> <div class="code"> <pre><code>Consideramos las ternas de numeros enteros positivos (P; Q;R) tales que P,Q,R y P² + Q² + R² sean primos. A) Encontrar 9 de ellas B) ¿Cuantas de ellas hay tales que P, Q, R son menores de 10000?</code></pre></div> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">iostream</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">vector</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdlib.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdio.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">time.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-reserved">using</span><span class="hl-code"> </span><span class="hl-types">namespace</span><span class="hl-code"> </span><span class="hl-identifier">std</span><span class="hl-code">; </span><span class="hl-comment">//solucion de Ariel Nowik</span><span class="hl-code"> </span><span class="hl-comment">//Consideramos las ternas de numeros enteros positivos (P; Q;R) tales que P,Q,R y P² + Q² + R² sean primos.</span><span class="hl-code"> </span><span class="hl-comment">//A) Encontrar 9 de ellas</span><span class="hl-code"> </span><span class="hl-comment">//B) ¿Cuantas de ellas hay tales que P, Q, R son menores de 10000?</span><span class="hl-code"> </span><span class="hl-types">bool</span><span class="hl-code"> </span><span class="hl-identifier">es_primo</span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">k</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//funcion para sacar numeros primos</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">a</span><span class="hl-code">,</span><span class="hl-identifier">b</span><span class="hl-code">; </span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">k</span><span class="hl-code">&gt;</span><span class="hl-number">1</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-brackets">(</span><span class="hl-identifier">a</span><span class="hl-code">=</span><span class="hl-number">2</span><span class="hl-code">;</span><span class="hl-identifier">a</span><span class="hl-code">*</span><span class="hl-identifier">a</span><span class="hl-code">&lt;=</span><span class="hl-identifier">k</span><span class="hl-code">;</span><span class="hl-identifier">a</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">k</span><span class="hl-code">%</span><span class="hl-identifier">a</span><span class="hl-code">==</span><span class="hl-number">0</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-reserved">false</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-reserved">true</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{</span><span class="hl-code"> </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-reserved">false</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-comment">//funcion para generar numeros al azar</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">random</span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">start</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">stop</span><span class="hl-code"> = </span><span class="hl-number">1</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">stop</span><span class="hl-code"> = </span><span class="hl-identifier">stop</span><span class="hl-code"> - </span><span class="hl-number">1</span><span class="hl-code">; </span><span class="hl-types">unsigned</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">iseed</span><span class="hl-code"> = </span><span class="hl-brackets">(</span><span class="hl-types">unsigned</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-brackets">)</span><span class="hl-identifier">time</span><span class="hl-brackets">(</span><span class="hl-prepro">NULL</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">srand</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">iseed</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">ran</span><span class="hl-code"> = </span><span class="hl-identifier">rand</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-types">float</span><span class="hl-brackets">(</span><span class="hl-identifier">ran</span><span class="hl-brackets">)</span><span class="hl-code"> / </span><span class="hl-types">float</span><span class="hl-brackets">(</span><span class="hl-identifier">RAND_MAX</span><span class="hl-brackets">)</span><span class="hl-code"> * </span><span class="hl-brackets">(</span><span class="hl-identifier">stop</span><span class="hl-code">-</span><span class="hl-identifier">start</span><span class="hl-brackets">)</span><span class="hl-code"> + </span><span class="hl-identifier">start</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-comment">//funcion para no repetir un numero al azar ya generado (se usará mas adelante)</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">get_rand</span><span class="hl-brackets">(</span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">v</span><span class="hl-code">,</span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; &gt; </span><span class="hl-identifier">nums</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">num</span><span class="hl-code"> = </span><span class="hl-identifier">random</span><span class="hl-brackets">(</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-identifier">nums</span><span class="hl-code">.</span><span class="hl-identifier">size</span><span class="hl-brackets">())</span><span class="hl-code">; </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">x</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">x</span><span class="hl-code"> &lt; </span><span class="hl-identifier">v</span><span class="hl-code">.</span><span class="hl-identifier">size</span><span class="hl-brackets">()</span><span class="hl-code">;</span><span class="hl-identifier">x</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">num</span><span class="hl-code"> == </span><span class="hl-identifier">v</span><span class="hl-brackets">[</span><span class="hl-identifier">x</span><span class="hl-brackets">]){</span><span class="hl-code"> </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-identifier">get_rand</span><span class="hl-brackets">(</span><span class="hl-identifier">v</span><span class="hl-code">,</span><span class="hl-identifier">nums</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-identifier">num</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">soluciones</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-comment">//creamos vector que almacena los numeros primos entre 1 y 10000</span><span class="hl-code"> </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">ya_primos</span><span class="hl-code">; </span><span class="hl-comment">//creamos vector para guardar las soluciones</span><span class="hl-code"> </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt; </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; &gt; </span><span class="hl-identifier">sols</span><span class="hl-code">; </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">x</span><span class="hl-code"> = </span><span class="hl-number">2</span><span class="hl-code">;</span><span class="hl-identifier">x</span><span class="hl-code"> &lt; </span><span class="hl-number">10000</span><span class="hl-code">;</span><span class="hl-identifier">x</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">es_primo</span><span class="hl-brackets">(</span><span class="hl-identifier">x</span><span class="hl-brackets">)</span><span class="hl-code"> == </span><span class="hl-reserved">true</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">ya_primos</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">x</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-comment">// para poder mostrar en pantalla el porcentaje que va del prosceso</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">porc</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">l_porc</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-comment">// for para p que solo va por los numeros primos</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">p</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">p</span><span class="hl-code"> &lt; </span><span class="hl-identifier">ya_primos</span><span class="hl-code">.</span><span class="hl-identifier">size</span><span class="hl-brackets">()</span><span class="hl-code">;</span><span class="hl-identifier">p</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">porc</span><span class="hl-code"> = </span><span class="hl-identifier">ya_primos</span><span class="hl-brackets">[</span><span class="hl-identifier">p</span><span class="hl-brackets">]</span><span class="hl-code"> / </span><span class="hl-number">100</span><span class="hl-code">; </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">porc</span><span class="hl-code"> != </span><span class="hl-identifier">l_porc</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">porc</span><span class="hl-code"> % </span><span class="hl-number">4</span><span class="hl-code"> == </span><span class="hl-number">0</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">x</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">x</span><span class="hl-code"> &lt; </span><span class="hl-number">30</span><span class="hl-code">;</span><span class="hl-identifier">x</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">x</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">x</span><span class="hl-code"> &lt; </span><span class="hl-identifier">porc</span><span class="hl-code">;</span><span class="hl-identifier">x</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">#</span><span class="hl-quotes">&quot;</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">porc</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">%</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-identifier">l_porc</span><span class="hl-code"> = </span><span class="hl-identifier">porc</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-comment">// for de q que solo va de 0 a q por los numeros primos</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">q</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">q</span><span class="hl-code"> &lt;= </span><span class="hl-identifier">p</span><span class="hl-code">;</span><span class="hl-identifier">q</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">// for de r que va de 0 a q por los numeros primos solamente</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">r</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">r</span><span class="hl-code"> &lt;= </span><span class="hl-identifier">q</span><span class="hl-code">;</span><span class="hl-identifier">r</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">// si p*p + q*q + r*r es primo se suman las 6 soluciones posibles combinado</span><span class="hl-code"> </span><span class="hl-comment">// R,Q y P. Y se almacenan</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">es_primo</span><span class="hl-brackets">(</span><span class="hl-identifier">ya_primos</span><span class="hl-brackets">[</span><span class="hl-identifier">p</span><span class="hl-brackets">]</span><span class="hl-code">*</span><span class="hl-identifier">ya_primos</span><span class="hl-brackets">[</span><span class="hl-identifier">p</span><span class="hl-brackets">]</span><span class="hl-code">+</span><span class="hl-identifier">ya_primos</span><span class="hl-brackets">[</span><span class="hl-identifier">q</span><span class="hl-brackets">]</span><span class="hl-code">*</span><span class="hl-identifier">ya_primos</span><span class="hl-brackets">[</span><span class="hl-identifier">q</span><span class="hl-brackets">]</span><span class="hl-code">+</span><span class="hl-identifier">ya_primos</span><span class="hl-brackets">[</span><span class="hl-identifier">r</span><span class="hl-brackets">]</span><span class="hl-code">*</span><span class="hl-identifier">ya_primos</span><span class="hl-brackets">[</span><span class="hl-identifier">r</span><span class="hl-brackets">])</span><span class="hl-code"> == </span><span class="hl-reserved">true</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">soluciones</span><span class="hl-code"> += </span><span class="hl-number">6</span><span class="hl-code">; </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">sol1</span><span class="hl-code">; </span><span class="hl-identifier">sol1</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">ya_primos</span><span class="hl-brackets">[</span><span class="hl-identifier">p</span><span class="hl-brackets">])</span><span class="hl-code">; </span><span class="hl-identifier">sol1</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">ya_primos</span><span class="hl-brackets">[</span><span class="hl-identifier">q</span><span class="hl-brackets">])</span><span class="hl-code">; </span><span class="hl-identifier">sol1</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">ya_primos</span><span class="hl-brackets">[</span><span class="hl-identifier">r</span><span class="hl-brackets">])</span><span class="hl-code">; </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">sol2</span><span class="hl-code">; </span><span class="hl-identifier">sol2</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">ya_primos</span><span class="hl-brackets">[</span><span class="hl-identifier">q</span><span class="hl-brackets">])</span><span class="hl-code">; </span><span class="hl-identifier">sol2</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">ya_primos</span><span class="hl-brackets">[</span><span class="hl-identifier">r</span><span class="hl-brackets">])</span><span class="hl-code">; </span><span class="hl-identifier">sol2</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">ya_primos</span><span class="hl-brackets">[</span><span class="hl-identifier">p</span><span class="hl-brackets">])</span><span class="hl-code">; </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">sol3</span><span class="hl-code">; </span><span class="hl-identifier">sol3</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">ya_primos</span><span class="hl-brackets">[</span><span class="hl-identifier">p</span><span class="hl-brackets">])</span><span class="hl-code">; </span><span class="hl-identifier">sol3</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">ya_primos</span><span class="hl-brackets">[</span><span class="hl-identifier">q</span><span class="hl-brackets">])</span><span class="hl-code">; </span><span class="hl-identifier">sol3</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">ya_primos</span><span class="hl-brackets">[</span><span class="hl-identifier">r</span><span class="hl-brackets">])</span><span class="hl-code">; </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">sol4</span><span class="hl-code">; </span><span class="hl-identifier">sol4</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">ya_primos</span><span class="hl-brackets">[</span><span class="hl-identifier">p</span><span class="hl-brackets">])</span><span class="hl-code">; </span><span class="hl-identifier">sol4</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">ya_primos</span><span class="hl-brackets">[</span><span class="hl-identifier">r</span><span class="hl-brackets">])</span><span class="hl-code">; </span><span class="hl-identifier">sol4</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">ya_primos</span><span class="hl-brackets">[</span><span class="hl-identifier">q</span><span class="hl-brackets">])</span><span class="hl-code">; </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">sol5</span><span class="hl-code">; </span><span class="hl-identifier">sol5</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">ya_primos</span><span class="hl-brackets">[</span><span class="hl-identifier">r</span><span class="hl-brackets">])</span><span class="hl-code">; </span><span class="hl-identifier">sol5</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">ya_primos</span><span class="hl-brackets">[</span><span class="hl-identifier">p</span><span class="hl-brackets">])</span><span class="hl-code">; </span><span class="hl-identifier">sol5</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">ya_primos</span><span class="hl-brackets">[</span><span class="hl-identifier">q</span><span class="hl-brackets">])</span><span class="hl-code">; </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">sol6</span><span class="hl-code">; </span><span class="hl-identifier">sol6</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">ya_primos</span><span class="hl-brackets">[</span><span class="hl-identifier">r</span><span class="hl-brackets">])</span><span class="hl-code">; </span><span class="hl-identifier">sol6</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">ya_primos</span><span class="hl-brackets">[</span><span class="hl-identifier">q</span><span class="hl-brackets">])</span><span class="hl-code">; </span><span class="hl-identifier">sol6</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">ya_primos</span><span class="hl-brackets">[</span><span class="hl-identifier">p</span><span class="hl-brackets">])</span><span class="hl-code">; </span><span class="hl-identifier">sols</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">sol1</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">sols</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">sol2</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">sols</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">sol3</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">sols</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">sol4</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">sols</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">sol5</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">sols</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">sol6</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-comment">//imprimimos cantidad de soluciones</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">cant</span><span class="hl-code"> = </span><span class="hl-identifier">sols</span><span class="hl-code">.</span><span class="hl-identifier">size</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">dis</span><span class="hl-code">; </span><span class="hl-comment">// imprimimos 9 soluciones al azar</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">x</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">x</span><span class="hl-code"> &lt; </span><span class="hl-number">9</span><span class="hl-code">;</span><span class="hl-identifier">x</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//usamos la esta funcion para evitar numeros al azar ya generados</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">num</span><span class="hl-code"> = </span><span class="hl-identifier">get_rand</span><span class="hl-brackets">(</span><span class="hl-identifier">dis</span><span class="hl-code">,</span><span class="hl-identifier">sols</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">------------------------------------</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">SOLUCION AL AZAR </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">x</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string"> (ID = </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">num</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">) : </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">P = </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">sols</span><span class="hl-brackets">[</span><span class="hl-identifier">num</span><span class="hl-brackets">][</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">Q = </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">sols</span><span class="hl-brackets">[</span><span class="hl-identifier">num</span><span class="hl-brackets">][</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">R = </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">sols</span><span class="hl-brackets">[</span><span class="hl-identifier">num</span><span class="hl-brackets">][</span><span class="hl-number">2</span><span class="hl-brackets">]</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">dis</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">num</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">------------------------------------</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">RTA: Hay unas </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">cant</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string"> soluciones posibles</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">------------------------------------</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">escriba algo y presione enter para continuar . . .</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">h</span><span class="hl-code">; </span><span class="hl-identifier">cin</span><span class="hl-code">&gt;&gt;</span><span class="hl-identifier">h</span><span class="hl-code">; </span><span class="hl-brackets">}</span></pre></div> </div> <br /> <strong>Salida del programa:</strong> <div class="code"> <pre><code>------------------------------------ SOLUCION AL AZAR 0 (ID = 813663) : P = 9587 Q = 3 R = 6047 ------------------------------------ SOLUCION AL AZAR 1 (ID = 692926) : P = 3 Q = 8681 R = 4241 ------------------------------------ SOLUCION AL AZAR 2 (ID = 573326) : P = 7717 Q = 4021 R = 3 ------------------------------------ SOLUCION AL AZAR 3 (ID = 446027) : P = 3 Q = 127 R = 6607 ------------------------------------ SOLUCION AL AZAR 4 (ID = 320641) : P = 2437 Q = 3 R = 5419 ------------------------------------ SOLUCION AL AZAR 5 (ID = 196743) : P = 4001 Q = 3 R = 283 ------------------------------------ SOLUCION AL AZAR 6 (ID = 74946) : P = 2153 Q = 127 R = 3 ------------------------------------ SOLUCION AL AZAR 7 (ID = 826665) : P = 9661 Q = 3 R = 8543 ------------------------------------ SOLUCION AL AZAR 8 (ID = 266990) : P = 4817 Q = 1613 R = 3 ------------------------------------ RTA: Hay unas 873564 soluciones posibles ------------------------------------</code></pre></div> <br /> muchisimas soluciones posibles :D
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-578474</guid>
				<title>Mi solucion Ejercicio 1 nacional 2012 nivel 2</title>
				<link>http://cym.wikidot.com/forum/t-578474/mi-solucion-ejercicio-1-nacional-2012-nivel-2</link>
				<description></description>
				<pubDate>Sun, 28 Oct 2012 12:22:55 +0000</pubDate>
				<wikidot:authorName>Newtonis penguin</wikidot:authorName>				<wikidot:authorUserId>1469664</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Mi solucion del ejercicio 1 que dice<br /> Encontrar tres numeros enteros posirtivos X , Y , Z tales que entre el mayor y el menor de<br /> ellos la diferencia no es mayor que 5 y ademas X * 2159 + Y * 1779 + Z * 1149 = 218630</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">iostream</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">vector</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">cstdlib</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-reserved">using</span><span class="hl-code"> </span><span class="hl-types">namespace</span><span class="hl-code"> </span><span class="hl-identifier">std</span><span class="hl-code">; </span><span class="hl-comment">// solucion de Ariel Nowik </span><span class="hl-code"> </span><span class="hl-comment">//Encontrar tres numeros enteros posirtivos X , Y , Z tales que entre el mayor y el menor de</span><span class="hl-code"> </span><span class="hl-comment">//ellos la diferencia no es mayor que 5 y ademas X * 2159 + Y * 1779 + Z * 1149 = 218630</span><span class="hl-code"> </span><span class="hl-comment">// funcion para sacar el mayor y el menor de una lista (vector) de valores </span><span class="hl-code"> </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">mayor_menor</span><span class="hl-brackets">(</span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">numeros</span><span class="hl-code">,</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">len</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">mayor</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">menor</span><span class="hl-code"> = </span><span class="hl-number">1000000</span><span class="hl-code">; </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">x</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">x</span><span class="hl-code"> &lt; </span><span class="hl-identifier">len</span><span class="hl-code">;</span><span class="hl-identifier">x</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">numeros</span><span class="hl-brackets">[</span><span class="hl-identifier">x</span><span class="hl-brackets">]</span><span class="hl-code"> &gt; </span><span class="hl-identifier">mayor</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">mayor</span><span class="hl-code"> = </span><span class="hl-identifier">numeros</span><span class="hl-brackets">[</span><span class="hl-identifier">x</span><span class="hl-brackets">]</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">x</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">x</span><span class="hl-code"> &lt; </span><span class="hl-identifier">len</span><span class="hl-code">;</span><span class="hl-identifier">x</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">numeros</span><span class="hl-brackets">[</span><span class="hl-identifier">x</span><span class="hl-brackets">]</span><span class="hl-code"> &lt; </span><span class="hl-identifier">menor</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">menor</span><span class="hl-code"> = </span><span class="hl-identifier">numeros</span><span class="hl-brackets">[</span><span class="hl-identifier">x</span><span class="hl-brackets">]</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">mm</span><span class="hl-code">; </span><span class="hl-identifier">mm</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">mayor</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">mm</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">menor</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">// se devuelve una lista (vector) de dos valores, el mayor y el menor </span><span class="hl-code"> </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-identifier">mm</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-comment">// funcion de numeros al azar </span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">random</span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">start</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">stop</span><span class="hl-code"> = </span><span class="hl-number">1</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">stop</span><span class="hl-code"> = </span><span class="hl-identifier">stop</span><span class="hl-code"> - </span><span class="hl-number">1</span><span class="hl-code">; </span><span class="hl-types">unsigned</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">iseed</span><span class="hl-code"> = </span><span class="hl-brackets">(</span><span class="hl-types">unsigned</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-brackets">)</span><span class="hl-identifier">time</span><span class="hl-brackets">(</span><span class="hl-prepro">NULL</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">srand</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">iseed</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">ran</span><span class="hl-code"> = </span><span class="hl-identifier">rand</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-types">float</span><span class="hl-brackets">(</span><span class="hl-identifier">ran</span><span class="hl-brackets">)</span><span class="hl-code"> / </span><span class="hl-types">float</span><span class="hl-brackets">(</span><span class="hl-identifier">RAND_MAX</span><span class="hl-brackets">)</span><span class="hl-code"> * </span><span class="hl-brackets">(</span><span class="hl-identifier">stop</span><span class="hl-code">-</span><span class="hl-identifier">start</span><span class="hl-brackets">)</span><span class="hl-code"> + </span><span class="hl-identifier">start</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-comment">// funcion main </span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">soluciones</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt; </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; &gt; </span><span class="hl-identifier">list_sol</span><span class="hl-code">; </span><span class="hl-comment">// revisamos x hasta que x * 2159 supere el valor de la suma*/</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">x</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">x</span><span class="hl-code">*</span><span class="hl-number">2159</span><span class="hl-code"> &lt; </span><span class="hl-number">218630</span><span class="hl-code">;</span><span class="hl-identifier">x</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">// revisamos y hasta que y*1779 supere el valor de la suma menos lo ya gastado de la suma por</span><span class="hl-code"> </span><span class="hl-identifier">x</span><span class="hl-code"> * </span><span class="hl-number">2158</span><span class="hl-code"> */ </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">y</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">y</span><span class="hl-code">*</span><span class="hl-number">1779</span><span class="hl-code"> &lt; </span><span class="hl-number">218630</span><span class="hl-code">-</span><span class="hl-identifier">x</span><span class="hl-code">*</span><span class="hl-number">2159</span><span class="hl-code">;</span><span class="hl-identifier">y</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">// revisamos si se puede dividir por 1149 el valor de la suma menos lo gastado</span><span class="hl-code"> </span><span class="hl-identifier">por</span><span class="hl-code"> </span><span class="hl-identifier">x</span><span class="hl-code"> * </span><span class="hl-number">2159</span><span class="hl-code"> </span><span class="hl-identifier">y</span><span class="hl-code"> </span><span class="hl-identifier">y</span><span class="hl-code"> * </span><span class="hl-number">1779</span><span class="hl-code">*/ </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">((</span><span class="hl-number">218630</span><span class="hl-code"> - </span><span class="hl-identifier">x</span><span class="hl-code"> * </span><span class="hl-number">2159</span><span class="hl-code"> - </span><span class="hl-identifier">y</span><span class="hl-code"> * </span><span class="hl-number">1779</span><span class="hl-brackets">)</span><span class="hl-code"> % </span><span class="hl-number">1149</span><span class="hl-code"> == </span><span class="hl-number">0</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">// si se puede deducimos cuanto vale z puesto que si lo multiplicamos por 1149</span><span class="hl-code"> </span><span class="hl-identifier">es</span><span class="hl-code"> </span><span class="hl-identifier">lo</span><span class="hl-code"> </span><span class="hl-identifier">que</span><span class="hl-code"> </span><span class="hl-identifier">falta</span><span class="hl-code"> </span><span class="hl-identifier">sumar</span><span class="hl-code"> </span><span class="hl-identifier">para</span><span class="hl-code"> </span><span class="hl-identifier">sumar</span><span class="hl-code"> </span><span class="hl-identifier">el</span><span class="hl-code"> </span><span class="hl-identifier">valor</span><span class="hl-code"> </span><span class="hl-identifier">de</span><span class="hl-code"> </span><span class="hl-identifier">la</span><span class="hl-code"> </span><span class="hl-identifier">suma</span><span class="hl-code">*/ </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">z</span><span class="hl-code"> = </span><span class="hl-brackets">(</span><span class="hl-number">218630</span><span class="hl-code"> - </span><span class="hl-identifier">x</span><span class="hl-code"> * </span><span class="hl-number">2159</span><span class="hl-code"> - </span><span class="hl-identifier">y</span><span class="hl-code"> * </span><span class="hl-number">1779</span><span class="hl-code"> </span><span class="hl-brackets">)</span><span class="hl-code">/ </span><span class="hl-number">1149</span><span class="hl-code">; </span><span class="hl-comment">// hacemos un vector (una lista, un arreglo infinito) donde ubicamos x ,y, z */</span><span class="hl-code"> </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">nums</span><span class="hl-code">; </span><span class="hl-identifier">nums</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">x</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">nums</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">y</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">nums</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">z</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">// llamanos a la funcion mayor menor que pone en un vector, como valor 0 el mayor</span><span class="hl-code"> </span><span class="hl-comment">// numero y como valor 1 el menor </span><span class="hl-code"> </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">mm</span><span class="hl-code"> = </span><span class="hl-identifier">mayor_menor</span><span class="hl-brackets">(</span><span class="hl-identifier">nums</span><span class="hl-code">,</span><span class="hl-number">3</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">// revisamos si la diferencia entre el mayor y el menor no es mayor a 5 </span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">mm</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code"> - </span><span class="hl-identifier">mm</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code"> &gt;= -</span><span class="hl-number">5</span><span class="hl-code"> </span><span class="hl-reserved">and</span><span class="hl-code"> </span><span class="hl-identifier">mm</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code"> - </span><span class="hl-identifier">mm</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code"> &lt;= </span><span class="hl-number">5</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">soluciones</span><span class="hl-code"> ++; </span><span class="hl-comment">// imprimimos la solucion </span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">-------------------------------------</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">SOLUCION </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">soluciones</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string"> :</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">X = </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">x</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string"> ; X * 2159 = </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">x</span><span class="hl-code">*</span><span class="hl-number">2159</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">Y = </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">y</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string"> ; Y * 1779 = </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">y</span><span class="hl-code">*</span><span class="hl-number">1779</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">Z = </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">z</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string"> ; Z * 1149 = </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">z</span><span class="hl-code">*</span><span class="hl-number">1149</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">X * 2159 + Y * 1779 + Z * 1149 = </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">x</span><span class="hl-code">*</span><span class="hl-number">2159</span><span class="hl-code">+</span><span class="hl-identifier">y</span><span class="hl-code">*</span><span class="hl-number">1779</span><span class="hl-code">+</span><span class="hl-identifier">z</span><span class="hl-code">*</span><span class="hl-number">1149</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">------------------------------------</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-comment">// almacenamos la solucion </span><span class="hl-code"> </span><span class="hl-identifier">list_sol</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">nums</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-comment">// imprimimos una solucion al azar </span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">RTA: hay </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">soluciones</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string"> soluciones</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">num</span><span class="hl-code"> = </span><span class="hl-identifier">random</span><span class="hl-brackets">(</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-identifier">soluciones</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">------------------------------------</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">SOLUCION AL AZAR (ID = </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">num</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">) : </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">X = </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">list_sol</span><span class="hl-brackets">[</span><span class="hl-identifier">num</span><span class="hl-brackets">][</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string"> ; X * 2159 = </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">list_sol</span><span class="hl-brackets">[</span><span class="hl-identifier">num</span><span class="hl-brackets">][</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">*</span><span class="hl-number">2159</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">Y = </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">list_sol</span><span class="hl-brackets">[</span><span class="hl-identifier">num</span><span class="hl-brackets">][</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string"> ; Y * 1779 = </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">list_sol</span><span class="hl-brackets">[</span><span class="hl-identifier">num</span><span class="hl-brackets">][</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code">*</span><span class="hl-number">1779</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">Z = </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">list_sol</span><span class="hl-brackets">[</span><span class="hl-identifier">num</span><span class="hl-brackets">][</span><span class="hl-number">2</span><span class="hl-brackets">]</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string"> ; Z * 1149 = </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">list_sol</span><span class="hl-brackets">[</span><span class="hl-identifier">num</span><span class="hl-brackets">][</span><span class="hl-number">2</span><span class="hl-brackets">]</span><span class="hl-code">*</span><span class="hl-number">1149</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">X * 2159 + Y * 1779 + Z * 1149 = </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">list_sol</span><span class="hl-brackets">[</span><span class="hl-identifier">num</span><span class="hl-brackets">][</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">*</span><span class="hl-number">2159</span><span class="hl-code">+</span><span class="hl-identifier">list_sol</span><span class="hl-brackets">[</span><span class="hl-identifier">num</span><span class="hl-brackets">][</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code">*</span><span class="hl-number">1779</span><span class="hl-code">+</span><span class="hl-identifier">list_sol</span><span class="hl-brackets">[</span><span class="hl-identifier">num</span><span class="hl-brackets">][</span><span class="hl-number">2</span><span class="hl-brackets">]</span><span class="hl-code">*</span><span class="hl-number">1149</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">------------------------------------</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">escriba algo y presione enter para continuar . . .</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">h</span><span class="hl-code">; </span><span class="hl-identifier">cin</span><span class="hl-code">&gt;&gt;</span><span class="hl-identifier">h</span><span class="hl-code">; </span><span class="hl-brackets">}</span></pre></div> </div> <p><strong>Salida del programa:</strong></p> <div class="code"> <pre><code>------------------------------------ RTA: hay 1 soluciones ------------------------------------ SOLUCION AL AZAR (ID = 0) : X = 43 ; X * 2159 = 92837 Y = 41 ; Y * 1779 = 72939 Z = 46 ; Z * 1149 = 52854 X * 2159 + Y * 1779 + Z * 1149 = 218630 ------------------------------------</code></pre></div> <br /> Una sola solucion aparentemente
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-578473</guid>
				<title>Mi solucion Ejercicio 2 nacional 2012 nivel 2</title>
				<link>http://cym.wikidot.com/forum/t-578473/mi-solucion-ejercicio-2-nacional-2012-nivel-2</link>
				<description></description>
				<pubDate>Sun, 28 Oct 2012 12:22:27 +0000</pubDate>
				<wikidot:authorName>Newtonis penguin</wikidot:authorName>				<wikidot:authorUserId>1469664</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Mi solucion del ejercicio 2 del nacional 2012 nivel 2 que dice:</p> <p>Tres tristes tigres tragan trigo en un trigal. Tristes estan porque solo trigo tragan. La primera tabla da el nombre de cada tigre, la cantidad maxima y minima de kilocalorias que pueden comer, y la cantidad minima o maxima (en porcentaje de pso ingerido) que debe comer de cada macronutriente (proteínas, lípidos, hidratos de carbono).</p> <table class="wiki-content-table"> <tr> <td><strong>Tigre</strong></td> <td><strong>min kcal</strong></td> <td><strong>max kcal</strong></td> <td><strong>min % prot</strong></td> <td><strong>max % lip</strong></td> <td><strong>max % hidr. carb.</strong></td> </tr> <tr> <td>Tristán</td> <td>6696</td> <td>8184</td> <td>18,5&#160;%</td> <td>4,0&#160;%</td> <td>70,0&#160;%</td> </tr> <tr> <td>Tirso</td> <td>5670</td> <td>6930</td> <td>15,5&#160;%</td> <td>3,5&#160;%</td> <td>75,0&#160;%</td> </tr> <tr> <td>Tatiana</td> <td>4653</td> <td>5687</td> <td>13,5&#160;%</td> <td>3,0&#160;%</td> <td>80,0&#160;%</td> </tr> </table> <p>Hay tres variedades de trigo. La segunda tabla da la composición natural de cadavariedad, por cada pastilla de trigo de 100&#160;g que no se puede fraccionar, y cuantas pastillas disponibles hay.</p> <table class="wiki-content-table"> <tr> <td><strong>Trigo</strong></td> <td><strong>kca</strong>l</td> <td><strong>proteínas</strong></td> <td><strong>lípidos</strong></td> <td><strong>hidr. carb.</strong></td> <td><strong>past. disponibles</strong></td> </tr> <tr> <td>germen</td> <td>360</td> <td>23.15</td> <td>9,72</td> <td>51,80</td> <td>18</td> </tr> <tr> <td>salvado</td> <td>216</td> <td>15,55</td> <td>4,25</td> <td>64,51</td> <td>22</td> </tr> <tr> <td>harinero</td> <td>331</td> <td>10,35</td> <td>1,56</td> <td>74,24</td> <td>30</td> </tr> </table> <p>A) dar un menú posible, cuántas pastillas de cada variedad darle a cada tigre.<br /> B) dar todos los menús posibles</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">iostream</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">vector</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">cstdlib</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-reserved">using</span><span class="hl-code"> </span><span class="hl-types">namespace</span><span class="hl-code"> </span><span class="hl-identifier">std</span><span class="hl-code">; </span><span class="hl-comment">// solucion de Ariel Nowik </span><span class="hl-code"> </span><span class="hl-comment">// funcion de numeros al azar </span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">random</span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">start</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">stop</span><span class="hl-code"> = </span><span class="hl-number">1</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">stop</span><span class="hl-code"> = </span><span class="hl-identifier">stop</span><span class="hl-code"> - </span><span class="hl-number">1</span><span class="hl-code">; </span><span class="hl-types">unsigned</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">iseed</span><span class="hl-code"> = </span><span class="hl-brackets">(</span><span class="hl-types">unsigned</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-brackets">)</span><span class="hl-identifier">time</span><span class="hl-brackets">(</span><span class="hl-prepro">NULL</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">srand</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">iseed</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">ran</span><span class="hl-code"> = </span><span class="hl-identifier">rand</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-types">float</span><span class="hl-brackets">(</span><span class="hl-identifier">ran</span><span class="hl-brackets">)</span><span class="hl-code"> / </span><span class="hl-types">float</span><span class="hl-brackets">(</span><span class="hl-identifier">RAND_MAX</span><span class="hl-brackets">)</span><span class="hl-code"> * </span><span class="hl-brackets">(</span><span class="hl-identifier">stop</span><span class="hl-code">-</span><span class="hl-identifier">start</span><span class="hl-brackets">)</span><span class="hl-code"> + </span><span class="hl-identifier">start</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-comment">// clase tigre para crear los tres tigres y darles propiedades</span><span class="hl-code"> </span><span class="hl-types">class</span><span class="hl-code"> </span><span class="hl-identifier">tigre</span><span class="hl-brackets">{</span><span class="hl-code"> </span><span class="hl-reserved">private</span><span class="hl-code">: </span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">max_cal</span><span class="hl-code">; </span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">min_cal</span><span class="hl-code">; </span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">min_prot</span><span class="hl-code">; </span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">min_lip</span><span class="hl-code">; </span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">max_hidr</span><span class="hl-code">; </span><span class="hl-reserved">public</span><span class="hl-code">: </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">inicializar</span><span class="hl-brackets">(</span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">mi_cal</span><span class="hl-code">,</span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">m_cal</span><span class="hl-code">,</span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">m_prot</span><span class="hl-code">,</span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">m_lip</span><span class="hl-code">,</span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">m_hidr</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">// funcion inicializar en la que</span><span class="hl-code"> </span><span class="hl-comment">//se le dan las caracteristicas a los tigres</span><span class="hl-code"> </span><span class="hl-identifier">max_cal</span><span class="hl-code"> = </span><span class="hl-identifier">m_cal</span><span class="hl-code">; </span><span class="hl-identifier">min_cal</span><span class="hl-code"> = </span><span class="hl-identifier">mi_cal</span><span class="hl-code">; </span><span class="hl-identifier">min_prot</span><span class="hl-code"> = </span><span class="hl-identifier">m_prot</span><span class="hl-code">; </span><span class="hl-identifier">min_lip</span><span class="hl-code"> = </span><span class="hl-identifier">m_lip</span><span class="hl-code">; </span><span class="hl-identifier">max_hidr</span><span class="hl-code"> = </span><span class="hl-identifier">m_hidr</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">dar_alimento</span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">germen</span><span class="hl-code">, </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">salvado</span><span class="hl-code">, </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">harinero</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//funcion dar alimento que checkea si el tigre puede comer</span><span class="hl-code"> </span><span class="hl-comment">//los tres alimentos de paramentros</span><span class="hl-code"> </span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">kcal</span><span class="hl-code"> = </span><span class="hl-types">double</span><span class="hl-brackets">(</span><span class="hl-identifier">germen</span><span class="hl-brackets">)</span><span class="hl-code"> * </span><span class="hl-number">360.0</span><span class="hl-code"> + </span><span class="hl-types">double</span><span class="hl-brackets">(</span><span class="hl-identifier">salvado</span><span class="hl-brackets">)</span><span class="hl-code"> * </span><span class="hl-number">216.0</span><span class="hl-code"> + </span><span class="hl-types">double</span><span class="hl-brackets">(</span><span class="hl-identifier">harinero</span><span class="hl-brackets">)</span><span class="hl-code"> * </span><span class="hl-number">331.0</span><span class="hl-code">; </span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">prot</span><span class="hl-code"> = </span><span class="hl-types">double</span><span class="hl-brackets">(</span><span class="hl-identifier">germen</span><span class="hl-brackets">)</span><span class="hl-code"> * </span><span class="hl-number">23.15</span><span class="hl-code"> + </span><span class="hl-types">double</span><span class="hl-brackets">(</span><span class="hl-identifier">salvado</span><span class="hl-brackets">)</span><span class="hl-code"> * </span><span class="hl-number">15.55</span><span class="hl-code"> + </span><span class="hl-types">double</span><span class="hl-brackets">(</span><span class="hl-identifier">harinero</span><span class="hl-brackets">)</span><span class="hl-code"> * </span><span class="hl-number">10.35</span><span class="hl-code">; </span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">lipi</span><span class="hl-code"> = </span><span class="hl-types">double</span><span class="hl-brackets">(</span><span class="hl-identifier">germen</span><span class="hl-brackets">)</span><span class="hl-code"> * </span><span class="hl-number">9.72</span><span class="hl-code"> + </span><span class="hl-types">double</span><span class="hl-brackets">(</span><span class="hl-identifier">salvado</span><span class="hl-brackets">)</span><span class="hl-code"> * </span><span class="hl-number">4.25</span><span class="hl-code"> + </span><span class="hl-types">double</span><span class="hl-brackets">(</span><span class="hl-identifier">harinero</span><span class="hl-brackets">)</span><span class="hl-code"> * </span><span class="hl-number">1.56</span><span class="hl-code">; </span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">hidr</span><span class="hl-code"> = </span><span class="hl-types">double</span><span class="hl-brackets">(</span><span class="hl-identifier">germen</span><span class="hl-brackets">)</span><span class="hl-code"> * </span><span class="hl-number">51.8</span><span class="hl-code"> + </span><span class="hl-types">double</span><span class="hl-brackets">(</span><span class="hl-identifier">salvado</span><span class="hl-brackets">)</span><span class="hl-code"> * </span><span class="hl-number">64.51</span><span class="hl-code"> + </span><span class="hl-types">double</span><span class="hl-brackets">(</span><span class="hl-identifier">harinero</span><span class="hl-brackets">)</span><span class="hl-code"> * </span><span class="hl-number">74.24</span><span class="hl-code">; </span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">peso</span><span class="hl-code"> = </span><span class="hl-types">double</span><span class="hl-brackets">(</span><span class="hl-identifier">germen</span><span class="hl-brackets">)</span><span class="hl-code"> * </span><span class="hl-number">100.0</span><span class="hl-code"> + </span><span class="hl-types">double</span><span class="hl-brackets">(</span><span class="hl-identifier">salvado</span><span class="hl-brackets">)</span><span class="hl-code"> * </span><span class="hl-number">100.0</span><span class="hl-code"> + </span><span class="hl-types">double</span><span class="hl-brackets">(</span><span class="hl-identifier">harinero</span><span class="hl-brackets">)</span><span class="hl-code"> * </span><span class="hl-number">100.0</span><span class="hl-code">; </span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">porcentaje_prot</span><span class="hl-code"> = </span><span class="hl-identifier">prot</span><span class="hl-code"> / </span><span class="hl-identifier">peso</span><span class="hl-code"> * </span><span class="hl-number">100.0</span><span class="hl-code">; </span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">porcentaje_lipi</span><span class="hl-code"> = </span><span class="hl-identifier">lipi</span><span class="hl-code"> / </span><span class="hl-identifier">peso</span><span class="hl-code"> * </span><span class="hl-number">100.0</span><span class="hl-code">; </span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">porcentaje_hidr</span><span class="hl-code"> = </span><span class="hl-identifier">hidr</span><span class="hl-code"> / </span><span class="hl-identifier">peso</span><span class="hl-code"> * </span><span class="hl-number">100.0</span><span class="hl-code">; </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">kcal</span><span class="hl-code"> &gt;= </span><span class="hl-identifier">min_cal</span><span class="hl-code"> </span><span class="hl-reserved">and</span><span class="hl-code"> </span><span class="hl-identifier">kcal</span><span class="hl-code"> &lt;= </span><span class="hl-identifier">max_cal</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">porcentaje_prot</span><span class="hl-code"> &gt;= </span><span class="hl-identifier">min_prot</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">porcentaje_lipi</span><span class="hl-code"> &gt;= </span><span class="hl-identifier">min_lip</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">porcentaje_hidr</span><span class="hl-code"> &lt;= </span><span class="hl-identifier">max_hidr</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-reserved">true</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-reserved">false</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code">; </span><span class="hl-mlcomment">/*funcion main*/</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-comment">//vector (lista con soluciones) con vectores</span><span class="hl-code"> </span><span class="hl-comment">//(para poner a cada tigre en todas las soluciones encontradas)</span><span class="hl-code"> </span><span class="hl-comment">//que tienen vectores adentro (uno para cada tipo de trigo)</span><span class="hl-code"> </span><span class="hl-comment">//con enteros (los alimentos)</span><span class="hl-code"> </span><span class="hl-comment">//en caso de que los tigres pedan comerlo</span><span class="hl-code"> </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt; </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt; </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; &gt; &gt; </span><span class="hl-identifier">soluciones</span><span class="hl-code">; </span><span class="hl-comment">//vector que alamcena los objetos tigre con las propiedades</span><span class="hl-code"> </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-identifier">tigre</span><span class="hl-code">&gt; </span><span class="hl-identifier">tigres</span><span class="hl-code">; </span><span class="hl-identifier">tigre</span><span class="hl-code"> </span><span class="hl-identifier">tigre1</span><span class="hl-code">; </span><span class="hl-comment">//cargamos propiedades en el tigre 1</span><span class="hl-code"> </span><span class="hl-identifier">tigre1</span><span class="hl-code">.</span><span class="hl-identifier">inicializar</span><span class="hl-brackets">(</span><span class="hl-number">6696.0</span><span class="hl-code">,</span><span class="hl-number">8184.0</span><span class="hl-code">,</span><span class="hl-number">18.5</span><span class="hl-code">,</span><span class="hl-number">4.0</span><span class="hl-code">,</span><span class="hl-number">70.0</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//aniadimos al tigre a la lista de tigres</span><span class="hl-code"> </span><span class="hl-identifier">tigres</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">tigre1</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">tigre</span><span class="hl-code"> </span><span class="hl-identifier">tigre2</span><span class="hl-code">; </span><span class="hl-comment">//cargamos propiedades en el tigre 2</span><span class="hl-code"> </span><span class="hl-identifier">tigre2</span><span class="hl-code">.</span><span class="hl-identifier">inicializar</span><span class="hl-brackets">(</span><span class="hl-number">5670.0</span><span class="hl-code">,</span><span class="hl-number">6930.0</span><span class="hl-code">,</span><span class="hl-number">16.5</span><span class="hl-code">,</span><span class="hl-number">3.5</span><span class="hl-code">,</span><span class="hl-number">75.0</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//aniadimos al tigre a la lista de tigres</span><span class="hl-code"> </span><span class="hl-identifier">tigres</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">tigre2</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">tigre</span><span class="hl-code"> </span><span class="hl-identifier">tigre3</span><span class="hl-code">; </span><span class="hl-comment">//cargamos propiedades en el tigre 3</span><span class="hl-code"> </span><span class="hl-identifier">tigre3</span><span class="hl-code">.</span><span class="hl-identifier">inicializar</span><span class="hl-brackets">(</span><span class="hl-number">4653.0</span><span class="hl-code">,</span><span class="hl-number">5687.0</span><span class="hl-code">,</span><span class="hl-number">13.5</span><span class="hl-code">,</span><span class="hl-number">3.0</span><span class="hl-code">,</span><span class="hl-number">80.0</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//aniadimos al tigre a la lista de tigres</span><span class="hl-code"> </span><span class="hl-identifier">tigres</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">tigre3</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//for para germen, salvado y harinero para el primer tigre</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">germen</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">germen</span><span class="hl-code"> &lt; </span><span class="hl-number">19</span><span class="hl-code">;</span><span class="hl-identifier">germen</span><span class="hl-code"> ++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">salvado</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">salvado</span><span class="hl-code"> &lt; </span><span class="hl-number">23</span><span class="hl-code">;</span><span class="hl-identifier">salvado</span><span class="hl-code"> ++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">harinero</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">harinero</span><span class="hl-code"> &lt; </span><span class="hl-number">31</span><span class="hl-code">;</span><span class="hl-identifier">harinero</span><span class="hl-code"> ++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//si se puede alimentar al tigre 0 se para al siguiente for</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">tigres</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">.</span><span class="hl-identifier">dar_alimento</span><span class="hl-brackets">(</span><span class="hl-identifier">germen</span><span class="hl-code">,</span><span class="hl-identifier">salvado</span><span class="hl-code">,</span><span class="hl-identifier">harinero</span><span class="hl-brackets">)</span><span class="hl-code"> == </span><span class="hl-reserved">true</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//for para germen, salvado y harinero para el segunto tigre</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">germen2</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">germen2</span><span class="hl-code"> &lt; </span><span class="hl-number">19</span><span class="hl-code"> -</span><span class="hl-identifier">germen</span><span class="hl-code">;</span><span class="hl-identifier">germen2</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">salvado2</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">salvado2</span><span class="hl-code"> &lt; </span><span class="hl-number">23</span><span class="hl-code"> - </span><span class="hl-identifier">salvado</span><span class="hl-code">;</span><span class="hl-identifier">salvado2</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">harinero2</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">harinero2</span><span class="hl-code"> &lt; </span><span class="hl-number">31</span><span class="hl-code"> - </span><span class="hl-identifier">harinero</span><span class="hl-code">;</span><span class="hl-identifier">harinero2</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//si se puede alimentar al tigre 1 se para al siguiente for</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">tigres</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code">.</span><span class="hl-identifier">dar_alimento</span><span class="hl-brackets">(</span><span class="hl-identifier">germen2</span><span class="hl-code">,</span><span class="hl-identifier">salvado2</span><span class="hl-code">,</span><span class="hl-identifier">harinero2</span><span class="hl-brackets">)</span><span class="hl-code"> == </span><span class="hl-reserved">true</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">germen3</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">germen3</span><span class="hl-code"> &lt; </span><span class="hl-number">19</span><span class="hl-code"> - </span><span class="hl-identifier">germen</span><span class="hl-code"> - </span><span class="hl-identifier">germen2</span><span class="hl-code">;</span><span class="hl-identifier">germen3</span><span class="hl-code"> ++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">salvado3</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">salvado3</span><span class="hl-code"> &lt; </span><span class="hl-number">23</span><span class="hl-code"> - </span><span class="hl-identifier">salvado</span><span class="hl-code"> - </span><span class="hl-identifier">salvado2</span><span class="hl-code">;</span><span class="hl-identifier">salvado3</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">harinero3</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">harinero3</span><span class="hl-code"> &lt; </span><span class="hl-number">31</span><span class="hl-code"> - </span><span class="hl-identifier">harinero</span><span class="hl-code"> - </span><span class="hl-identifier">harinero2</span><span class="hl-code">;</span><span class="hl-identifier">harinero3</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//si se puede alimentar al tigre 2 se almacena la solucion en el vector (lista) soluciones</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">tigres</span><span class="hl-brackets">[</span><span class="hl-number">2</span><span class="hl-brackets">]</span><span class="hl-code">.</span><span class="hl-identifier">dar_alimento</span><span class="hl-brackets">(</span><span class="hl-identifier">germen3</span><span class="hl-code">,</span><span class="hl-identifier">salvado3</span><span class="hl-code">,</span><span class="hl-identifier">harinero3</span><span class="hl-brackets">)</span><span class="hl-code"> == </span><span class="hl-reserved">true</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//vector para almacenar alimentacion del primer tigre</span><span class="hl-code"> </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">nums</span><span class="hl-code">; </span><span class="hl-identifier">nums</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">harinero</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">nums</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">salvado</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">nums</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">germen</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//vector para almacenar alimentacion del segundo tigre</span><span class="hl-code"> </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">nums2</span><span class="hl-code">; </span><span class="hl-identifier">nums2</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">harinero2</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">nums2</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">salvado2</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">nums2</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">germen2</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//vector para almacenar alimentacion del tercer tigre</span><span class="hl-code"> </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; </span><span class="hl-identifier">nums3</span><span class="hl-code">; </span><span class="hl-identifier">nums3</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">harinero3</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">nums3</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">salvado3</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">nums3</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">germen3</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//vector con los tres conjuntos de alimentos para cada tigre</span><span class="hl-code"> </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt; </span><span class="hl-identifier">vector</span><span class="hl-code"> &lt;</span><span class="hl-types">int</span><span class="hl-code">&gt; &gt; </span><span class="hl-identifier">sol</span><span class="hl-code">; </span><span class="hl-identifier">sol</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">nums</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">sol</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">nums2</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">sol</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">nums3</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//ese vector se agrega al vector (lista) de soluciones</span><span class="hl-code"> </span><span class="hl-identifier">soluciones</span><span class="hl-code">.</span><span class="hl-identifier">push_back</span><span class="hl-brackets">(</span><span class="hl-identifier">sol</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-comment">//imprimimos cantidad de soluciones</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">Hay unas </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">soluciones</span><span class="hl-code">.</span><span class="hl-identifier">size</span><span class="hl-brackets">()</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string"> soluciones</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-comment">//imprimimos una solucion al azar</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">num</span><span class="hl-code"> = </span><span class="hl-identifier">random</span><span class="hl-brackets">(</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-identifier">soluciones</span><span class="hl-code">.</span><span class="hl-identifier">size</span><span class="hl-brackets">())</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">------------------------------------</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">SOLUCION AL AZAR (ID = </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">num</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">) : </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">x</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">x</span><span class="hl-code"> &lt; </span><span class="hl-identifier">soluciones</span><span class="hl-brackets">[</span><span class="hl-identifier">num</span><span class="hl-brackets">]</span><span class="hl-code">.</span><span class="hl-identifier">size</span><span class="hl-brackets">()</span><span class="hl-code">;</span><span class="hl-identifier">x</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">Tigre </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">x</span><span class="hl-code">+</span><span class="hl-number">1</span><span class="hl-code">; </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">x</span><span class="hl-code"> == </span><span class="hl-number">0</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string"> (Tristan):</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">x</span><span class="hl-code"> == </span><span class="hl-number">1</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string"> (Tirso):</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">x</span><span class="hl-code"> == </span><span class="hl-number">2</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string"> (Tatiana):</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">germen : </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">soluciones</span><span class="hl-brackets">[</span><span class="hl-identifier">num</span><span class="hl-brackets">][</span><span class="hl-identifier">x</span><span class="hl-brackets">][</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">salvado : </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">soluciones</span><span class="hl-brackets">[</span><span class="hl-identifier">num</span><span class="hl-brackets">][</span><span class="hl-identifier">x</span><span class="hl-brackets">][</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">harinero: </span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">soluciones</span><span class="hl-brackets">[</span><span class="hl-identifier">num</span><span class="hl-brackets">][</span><span class="hl-identifier">x</span><span class="hl-brackets">][</span><span class="hl-number">2</span><span class="hl-brackets">]</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-quotes">&quot;</span><span class="hl-string">escriba algo y presione enter para continuar . . .</span><span class="hl-quotes">&quot;</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">h</span><span class="hl-code">; </span><span class="hl-identifier">cin</span><span class="hl-code">&gt;&gt;</span><span class="hl-identifier">h</span><span class="hl-code">; </span><span class="hl-brackets">}</span></pre></div> </div> <p><strong>Salida del programa:</strong></p> <div class="code"> <pre><code>Hay unas 1 soluciones ------------------------------------ SOLUCION AL AZAR (ID = 0) : Tigre 1 (Tristan): germen : 6 salvado : 2 harinero: 12 Tigre 2 (Tirso): germen : 5 salvado : 9 harinero: 6 Tigre 3 (Tatiana): germen : 7 salvado : 11 harinero: 0</code></pre></div> <br /> Una sola solucion posible al parecer. <strong>Alguna otra forma de resolverlo?</strong>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-577559</guid>
				<title>Ronda Nacional de CyM 2012</title>
				<link>http://cym.wikidot.com/forum/t-577559/ronda-nacional-de-cym-2012</link>
				<description>Comentarios sobre la Ronda Nacional del 15to Torneo de Computación y Matemática.</description>
				<pubDate>Thu, 25 Oct 2012 21:27:48 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Con la Ronda Nacional de CyM 2012 que tuvo lugar la semana pasada, del miércoles 17 al viernes 19 de octubre, terminamos el decimoquinto Torneo. ¡15 años CyM!</p> <p>Felicitaciones a todos los participantes de CyM: a los que salieron campeones, a los que llegaron a la final, y a los que participaron en las rondas anteriores.</p> <p>¿Qué tal estuvo CyM este año? Pueden comentar en las secciones <a href="http://cym.wikidot.com/forum/c-8990/tema-libre-casi">Tema libre (casi)</a> o <a href="http://cym.wikidot.com/forum/c-86180/tema-libre-casi-abierto">Tema libre (casi) - Abierto</a> de este foro.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-398311</guid>
				<title>CyM 2011: opiniones</title>
				<link>http://cym.wikidot.com/forum/t-398311/cym-2011:opiniones</link>
				<description></description>
				<pubDate>Wed, 05 Oct 2011 19:54:39 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Recién terminó la Ronda Nacional de CyM 2011. ¿Qué les pareció? ¿Qué les parecieron los problemas? ¿Y los del resto del año? ¡Me gustaría conocer sus opiniones!</p> <p>PD: si todavía no tienen cuente acá, pueden<br /> - sacar una :)<br /> - o responder a &quot;Tema libre (casi) - Abierto&quot;.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-394452</guid>
				<title>Ronda Nacional de CyM 2011</title>
				<link>http://cym.wikidot.com/forum/t-394452/ronda-nacional-de-cym-2011</link>
				<description>Información sobre la Ronda Nacional del 14to Torneo de Computación y Matemática.</description>
				<pubDate>Sat, 24 Sep 2011 20:27:25 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>La Ronda Nacional de CyM 2011 es muy pronto, dentro de poco más una semana: del 3 al 5 de octubre. Ya están disponibles los detalles, en la <a href="http://www.oma.org.ar/nacional/cym/">página de CyM</a>. También está la lista de quienes clasificaron del Zonal al Nacional.</p> <p>¡Nos vemos!</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-387394</guid>
				<title>Semana de la Computación 2011</title>
				<link>http://cym.wikidot.com/forum/t-387394/semana-de-la-computacion-2011</link>
				<description>En la ciudad de Buenos Aires, del 13 a 15 de septiembre.</description>
				<pubDate>Fri, 02 Sep 2011 18:16:50 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>La Semana de la Computación es una actividad organizada por la Facultad de Ciencias Exactas y Naturales de la Universidad de Buenos Aires. Con el fin de difundir la carrera de Ciencias de la Computación y la disciplina en general a estudiantes secundarios.</p> <p>Se realizará del 13 a 15 de septiembre de 2011, en Ciudad Universitaria, Capital Federal. La entrada es libre y gratuita. Aunque es útil anotarse. Más información en <a href="http://www.dc.uba.ar/events/sdc/2011">http://www.dc.uba.ar/events/sdc/2011</a> .</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-380781</guid>
				<title>Ronda Intercolegial de CyM 2011</title>
				<link>http://cym.wikidot.com/forum/t-380781/ronda-intercolegial-de-cym-2011</link>
				<description>¡Es el próximo viernes!</description>
				<pubDate>Sat, 06 Aug 2011 16:39:17 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>¡CyM 2011 ya comenzó!</p> <p>La Ronda Intercolegial del 14to Torneo de Computación y Matemática es el <strong>próximo viernes</strong> 12 de Agosto de 2011, de 14:00 a 17:00. Más información: como siempre en la página web de CyM, <a href="http://www.oma.org.ar/nacional/cym/">http://www.oma.org.ar/nacional/cym/</a></p> <p>Disfruten el Torneo. :-)</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-280317</guid>
				<title>Ronda Nacional de CyM 2010</title>
				<link>http://cym.wikidot.com/forum/t-280317/ronda-nacional-de-cym-2010</link>
				<description>Información sobre la Ronda Nacional del 13er Torneo de Computación y Matemática.</description>
				<pubDate>Sat, 30 Oct 2010 22:47:41 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Tal como estaba anunciado luego de las postergaciones de fechas, la <strong>Ronda Nacional</strong> será dentro de la semana del 15 al 19 de noviembre de 2010. Se realizará en la Ciudad Autónoma de Buenos Aires.</p> <p>Más detalles próximamente. :-)</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-272646</guid>
				<title>Ronda Zonal de CyM 2010</title>
				<link>http://cym.wikidot.com/forum/t-272646/ronda-zonal-de-cym-2010</link>
				<description>Nueva fecha.</description>
				<pubDate>Wed, 06 Oct 2010 15:46:15 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Después de varias postergaciones, la Ronda <strong>Zonal</strong> se hace <strong>este viernes</strong> 8 de octubre de 2010, como siempre de 14 a 17hs. La <a href="http://www.oma.org.ar/nacional/cym/Memo_cym_10.pdf">información oficial (pdf)</a> de la nuevas fechas está en la página de OMA.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-249158</guid>
				<title>Ronda Intercolegial de CyM 2010</title>
				<link>http://cym.wikidot.com/forum/t-249158/ronda-intercolegial-de-cym-2010</link>
				<description>¡Atención! Cambió la fecha.</description>
				<pubDate>Mon, 21 Jun 2010 14:25:31 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>La Ronda Intercolegial de CyM 2010 es muy pronto, este <strong>viernes 25 de junio</strong> de 2010, como siempre de 14 a 17hs.</p> <p>Les deseo éxito a todos. :-)</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-244801</guid>
				<title>Problema 3, Ronda Intercolegial 2009</title>
				<link>http://cym.wikidot.com/forum/t-244801/problema-3-ronda-intercolegial-2009</link>
				<description></description>
				<pubDate>Mon, 31 May 2010 16:33:39 +0000</pubDate>
				<wikidot:authorName>caeruleus</wikidot:authorName>				<wikidot:authorUserId>483269</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>El taller &quot;La Precisa&quot; fabrica estatuas mediante volcado de material fundido en moldes. Por eso todas las estatuas del mismo molde tienen exactamente el mismo peso. Como la balanza está graduada en gramos, el peso medido en gramos es un número entero.</p> <p>Armaron tres pedidos, para decorar castillos: el primero con 12&#160;gárgolas y 15 leones, el segundo con 17&#160;gárgolas y 13 leones y el tercero con 20&#160;gárgolas y 4 leones. Las tres cajas donde guardaron cada pedido tenían el mismo peso también, que era una cantidad entera de gramos (¡misma balanza!).</p> <p>Al llegar el envío al centro de distribución descubrieron que las etiquetas eran ilegibles, así que debían identificar cada caja sin abrirla, sabiendo solamente los pesos. Una de las cajas pesaba 7622g, otra 6971g y la otra 6008g.</p> <p>Determinar cuánto pesaba cada tipo de estatua y cuál pedido estaba en cada caja. ¿Hay una sola posibilidad?</p> <p>Bueno lo que queda es un sistema de ecuaciones con tres incógnitas, 12*x+15*y+z = ?; 17*x+13*y+z = ?; 20*z+4*y+z = ?. Pero cualquier ecuación puede dar uno de los tres resultados : 7622, 6971, 6008. Tranquilamente se puede hacer a mano, sería resolver 6 veces el sistema permutando los resultados. Pero bueno éste es el código del programa que escribí para resolverlo:</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdio.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#define</span><span class="hl-code"> </span><span class="hl-identifier">paquete1</span><span class="hl-code"> </span><span class="hl-number">7622</span><span class="hl-code"> </span><span class="hl-prepro">#define</span><span class="hl-code"> </span><span class="hl-identifier">paquete2</span><span class="hl-code"> </span><span class="hl-number">6971</span><span class="hl-code"> </span><span class="hl-prepro">#define</span><span class="hl-code"> </span><span class="hl-identifier">paquete3</span><span class="hl-code"> </span><span class="hl-number">6008</span><span class="hl-code"> </span><span class="hl-types">void</span><span class="hl-code"> </span><span class="hl-identifier">imprimir</span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">a</span><span class="hl-code">,</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">b</span><span class="hl-code">,</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">c</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">printf</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">Gargolas: %d</span><span class="hl-special">\</span><span class="hl-string">nLeones: %d</span><span class="hl-special">\</span><span class="hl-string">nCajas: %d</span><span class="hl-special">\</span><span class="hl-string">n</span><span class="hl-quotes">&quot;</span><span class="hl-code">,</span><span class="hl-identifier">a</span><span class="hl-code">,</span><span class="hl-identifier">b</span><span class="hl-code">,</span><span class="hl-identifier">c</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">pcaja</span><span class="hl-code">, </span><span class="hl-identifier">pgar</span><span class="hl-code">, </span><span class="hl-identifier">pleo</span><span class="hl-code">, </span><span class="hl-identifier">i</span><span class="hl-code">, </span><span class="hl-identifier">n</span><span class="hl-code">, </span><span class="hl-identifier">x</span><span class="hl-code">, </span><span class="hl-identifier">resultado1</span><span class="hl-code">, </span><span class="hl-identifier">resultado2</span><span class="hl-code">, </span><span class="hl-identifier">resultado3</span><span class="hl-code">; </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">i</span><span class="hl-code"> = </span><span class="hl-number">1</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code"> &lt;= </span><span class="hl-number">1000</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">n</span><span class="hl-code"> = </span><span class="hl-number">1</span><span class="hl-code">; </span><span class="hl-identifier">n</span><span class="hl-code"> &lt;= </span><span class="hl-number">1000</span><span class="hl-code">; </span><span class="hl-identifier">n</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">x</span><span class="hl-code"> = </span><span class="hl-number">1</span><span class="hl-code">; </span><span class="hl-identifier">x</span><span class="hl-code"> &lt;= </span><span class="hl-number">1000</span><span class="hl-code">; </span><span class="hl-identifier">x</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">pgar</span><span class="hl-code"> = </span><span class="hl-identifier">i</span><span class="hl-code">; </span><span class="hl-identifier">pleo</span><span class="hl-code"> = </span><span class="hl-identifier">n</span><span class="hl-code">; </span><span class="hl-identifier">pcaja</span><span class="hl-code"> = </span><span class="hl-identifier">x</span><span class="hl-code">; </span><span class="hl-identifier">resultado1</span><span class="hl-code"> = </span><span class="hl-brackets">((</span><span class="hl-number">12</span><span class="hl-code">*</span><span class="hl-identifier">pgar</span><span class="hl-brackets">)</span><span class="hl-code"> + </span><span class="hl-brackets">(</span><span class="hl-number">15</span><span class="hl-code">*</span><span class="hl-identifier">pleo</span><span class="hl-brackets">)</span><span class="hl-code"> + </span><span class="hl-identifier">pcaja</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">resultado2</span><span class="hl-code"> = </span><span class="hl-brackets">((</span><span class="hl-number">17</span><span class="hl-code">*</span><span class="hl-identifier">pgar</span><span class="hl-brackets">)</span><span class="hl-code"> + </span><span class="hl-brackets">(</span><span class="hl-number">13</span><span class="hl-code">*</span><span class="hl-identifier">pleo</span><span class="hl-brackets">)</span><span class="hl-code"> + </span><span class="hl-identifier">pcaja</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">resultado3</span><span class="hl-code"> = </span><span class="hl-brackets">((</span><span class="hl-number">20</span><span class="hl-code">*</span><span class="hl-identifier">pgar</span><span class="hl-brackets">)</span><span class="hl-code"> + </span><span class="hl-brackets">(</span><span class="hl-number">4</span><span class="hl-code">*</span><span class="hl-identifier">pleo</span><span class="hl-brackets">)</span><span class="hl-code"> + </span><span class="hl-identifier">pcaja</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-reserved">switch</span><span class="hl-brackets">(</span><span class="hl-identifier">resultado1</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">case</span><span class="hl-code"> </span><span class="hl-identifier">paquete1</span><span class="hl-code">: </span><span class="hl-reserved">switch</span><span class="hl-brackets">(</span><span class="hl-identifier">resultado2</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">case</span><span class="hl-code"> </span><span class="hl-identifier">paquete2</span><span class="hl-code">: </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">resultado3</span><span class="hl-code"> == </span><span class="hl-identifier">paquete3</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">imprimir</span><span class="hl-brackets">(</span><span class="hl-identifier">pgar</span><span class="hl-code">,</span><span class="hl-identifier">pleo</span><span class="hl-code">,</span><span class="hl-identifier">pcaja</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">printf</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">Paquete 1 = 12 gárgolas, 15 leones</span><span class="hl-special">\</span><span class="hl-string">nPaquete2 = 17gárgolas, 13 leones</span><span class="hl-special">\</span><span class="hl-string">nPaquete 3 = 20 gárgolas, 4 leones</span><span class="hl-special">\</span><span class="hl-string">n</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">break</span><span class="hl-code">; </span><span class="hl-reserved">case</span><span class="hl-code"> </span><span class="hl-identifier">paquete3</span><span class="hl-code">: </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">resultado3</span><span class="hl-code"> == </span><span class="hl-identifier">paquete2</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">imprimir</span><span class="hl-brackets">(</span><span class="hl-identifier">pgar</span><span class="hl-code">,</span><span class="hl-identifier">pleo</span><span class="hl-code">,</span><span class="hl-identifier">pcaja</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">printf</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">Paquete 1 = 12 gárgolas, 15 leones</span><span class="hl-special">\</span><span class="hl-string">nPaquete2 =20 gárgolas, 4 leones</span><span class="hl-special">\</span><span class="hl-string">nPaquete 3 = 17 gárgolas, 13 leones</span><span class="hl-special">\</span><span class="hl-string">n</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;</span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">break</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">case</span><span class="hl-code"> </span><span class="hl-identifier">paquete2</span><span class="hl-code">: </span><span class="hl-reserved">switch</span><span class="hl-brackets">(</span><span class="hl-identifier">resultado2</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">case</span><span class="hl-code"> </span><span class="hl-identifier">paquete1</span><span class="hl-code">: </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">resultado3</span><span class="hl-code"> == </span><span class="hl-identifier">paquete3</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">imprimir</span><span class="hl-brackets">(</span><span class="hl-identifier">pgar</span><span class="hl-code">,</span><span class="hl-identifier">pleo</span><span class="hl-code">,</span><span class="hl-identifier">pcaja</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">printf</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">Paquete 1 = 17 gárgolas, 13 leones</span><span class="hl-special">\</span><span class="hl-string">nPaquete 2 = 12 gárgolas, 15 leones</span><span class="hl-special">\</span><span class="hl-string">nPaquete 3 = 20 gárgolas, 4 leones</span><span class="hl-special">\</span><span class="hl-string">n</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;</span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">break</span><span class="hl-code">; </span><span class="hl-reserved">case</span><span class="hl-code"> </span><span class="hl-identifier">paquete3</span><span class="hl-code">: </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">resultado3</span><span class="hl-code"> == </span><span class="hl-identifier">paquete1</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">imprimir</span><span class="hl-brackets">(</span><span class="hl-identifier">pgar</span><span class="hl-code">,</span><span class="hl-identifier">pleo</span><span class="hl-code">,</span><span class="hl-identifier">pcaja</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">printf</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">Paquete 1 = 20 gárgolas, 4 leones</span><span class="hl-special">\</span><span class="hl-string">nPaquete 2 = 12 gárgolas, 15 leonesi</span><span class="hl-special">\</span><span class="hl-string">nPaquete 3 = 17 gárgolas, 13 leones</span><span class="hl-special">\</span><span class="hl-string">n</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;</span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">break</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">case</span><span class="hl-code"> </span><span class="hl-identifier">paquete3</span><span class="hl-code">: </span><span class="hl-reserved">switch</span><span class="hl-brackets">(</span><span class="hl-identifier">resultado2</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">case</span><span class="hl-code"> </span><span class="hl-identifier">paquete1</span><span class="hl-code">: </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">resultado3</span><span class="hl-code"> == </span><span class="hl-identifier">paquete2</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">imprimir</span><span class="hl-brackets">(</span><span class="hl-identifier">pgar</span><span class="hl-code">,</span><span class="hl-identifier">pleo</span><span class="hl-code">,</span><span class="hl-identifier">pcaja</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">printf</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">Paquete 1 = 17 gárgolas, 13 leones</span><span class="hl-special">\</span><span class="hl-string">nPaquete 2 = 20 gárgolas, 4 leones</span><span class="hl-special">\</span><span class="hl-string">nPaquete 3 = 12 gárgolas, 15 leones</span><span class="hl-special">\</span><span class="hl-string">n</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;</span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">break</span><span class="hl-code">; </span><span class="hl-reserved">case</span><span class="hl-code"> </span><span class="hl-identifier">paquete2</span><span class="hl-code">: </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">resultado3</span><span class="hl-code"> == </span><span class="hl-identifier">paquete1</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">imprimir</span><span class="hl-brackets">(</span><span class="hl-identifier">pgar</span><span class="hl-code">,</span><span class="hl-identifier">pleo</span><span class="hl-code">,</span><span class="hl-identifier">pcaja</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">printf</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">Paquete 1 = 20 gárgolas, 4 leones</span><span class="hl-special">\</span><span class="hl-string">nPaquete 2 = 17 gárgolas, 13 leones</span><span class="hl-special">\</span><span class="hl-string">nPaquete 3 = 12 gárgolas, 4 leones</span><span class="hl-special">\</span><span class="hl-string">n</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;</span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-reserved">break</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-brackets">}</span></pre></div> </div> <p>El único resultado que me tira es:</p> <p>Gargolas: 233<br /> Leones: 257<br /> Cajas: 320<br /> Paquete 1 = 17&#160;gárgolas, 13 leones<br /> Paquete 2 = 12&#160;gárgolas, 15 leones<br /> Paquete 3 = 20&#160;gárgolas, 4 leones</p> <p>Y no creo que haya más soluciones ya que si el bucle continúa, y cada vez son mayores números asignados a las variables, mayor van a ser los resultados y sobrepasarán los posibles pesos de los paquetes.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-244354</guid>
				<title>Problema semanal, combinaciones</title>
				<link>http://cym.wikidot.com/forum/t-244354/problema-semanal-combinaciones</link>
				<description></description>
				<pubDate>Sat, 29 May 2010 00:17:56 +0000</pubDate>
				<wikidot:authorName>caeruleus</wikidot:authorName>				<wikidot:authorUserId>483269</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Hola, éste es el enunciado del problema: Decir cuántos números distintos se pueden formar como resultado del producto de uno, dos, o más de los siguientes números, sin repetir: 5, 22, 91, 455, 2002, 19945, 87758, 438790, 48266900.<br /> Por ejemplo: 5 (5), 2002 (22·91), 45374875 (5·455·19945), etc.</p> <p>La verdad que no encontré posible solución en C, y lo hice hasta python (sólo hasta los productos de 5 números, pero bueno la idea se ve) :</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-comment">#!/usr/bin/python</span><span class="hl-code"> </span><span class="hl-identifier">lista</span><span class="hl-code"> = </span><span class="hl-brackets">(</span><span class="hl-number">5</span><span class="hl-code">, </span><span class="hl-number">22</span><span class="hl-code">, </span><span class="hl-number">91</span><span class="hl-code">, </span><span class="hl-number">455</span><span class="hl-code">, </span><span class="hl-number">2002</span><span class="hl-code">, </span><span class="hl-number">19945</span><span class="hl-code">, </span><span class="hl-number">87758</span><span class="hl-code">, </span><span class="hl-number">438790</span><span class="hl-code">, </span><span class="hl-number">48266900</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-identifier">lista1</span><span class="hl-code"> = </span><span class="hl-brackets">[]</span><span class="hl-code"> </span><span class="hl-comment">#un numero</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-identifier">w</span><span class="hl-code"> </span><span class="hl-reserved">in</span><span class="hl-code"> </span><span class="hl-identifier">lista</span><span class="hl-code">: </span><span class="hl-identifier">lista1</span><span class="hl-code">.</span><span class="hl-identifier">append</span><span class="hl-brackets">(</span><span class="hl-identifier">w</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-comment">#dos numeros</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-identifier">a</span><span class="hl-code"> </span><span class="hl-reserved">in</span><span class="hl-code"> </span><span class="hl-builtin">range</span><span class="hl-brackets">(</span><span class="hl-number">9</span><span class="hl-brackets">)</span><span class="hl-code">: </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-identifier">b</span><span class="hl-code"> </span><span class="hl-reserved">in</span><span class="hl-code"> </span><span class="hl-builtin">range</span><span class="hl-brackets">(</span><span class="hl-identifier">a</span><span class="hl-code">+</span><span class="hl-number">1</span><span class="hl-code">,</span><span class="hl-number">9</span><span class="hl-brackets">)</span><span class="hl-code">: </span><span class="hl-identifier">lista1</span><span class="hl-code">.</span><span class="hl-identifier">append</span><span class="hl-brackets">(</span><span class="hl-identifier">lista</span><span class="hl-brackets">[</span><span class="hl-identifier">a</span><span class="hl-brackets">]</span><span class="hl-code"> * </span><span class="hl-identifier">lista</span><span class="hl-brackets">[</span><span class="hl-identifier">b</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-comment">#tres numeros</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-identifier">d</span><span class="hl-code"> </span><span class="hl-reserved">in</span><span class="hl-code"> </span><span class="hl-builtin">range</span><span class="hl-brackets">(</span><span class="hl-number">9</span><span class="hl-brackets">)</span><span class="hl-code">: </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-identifier">e</span><span class="hl-code"> </span><span class="hl-reserved">in</span><span class="hl-code"> </span><span class="hl-builtin">range</span><span class="hl-brackets">(</span><span class="hl-identifier">d</span><span class="hl-code">+</span><span class="hl-number">1</span><span class="hl-code">,</span><span class="hl-number">9</span><span class="hl-brackets">)</span><span class="hl-code">: </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-identifier">f</span><span class="hl-code"> </span><span class="hl-reserved">in</span><span class="hl-code"> </span><span class="hl-builtin">range</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-code">+</span><span class="hl-number">1</span><span class="hl-code">,</span><span class="hl-number">9</span><span class="hl-brackets">)</span><span class="hl-code">: </span><span class="hl-identifier">lista1</span><span class="hl-code">.</span><span class="hl-identifier">append</span><span class="hl-brackets">(</span><span class="hl-identifier">lista</span><span class="hl-brackets">[</span><span class="hl-identifier">d</span><span class="hl-brackets">]</span><span class="hl-code"> * </span><span class="hl-identifier">lista</span><span class="hl-brackets">[</span><span class="hl-identifier">e</span><span class="hl-brackets">]</span><span class="hl-code"> * </span><span class="hl-identifier">lista</span><span class="hl-brackets">[</span><span class="hl-identifier">f</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-comment">#cuatro numeros</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-identifier">h</span><span class="hl-code"> </span><span class="hl-reserved">in</span><span class="hl-code"> </span><span class="hl-builtin">range</span><span class="hl-brackets">(</span><span class="hl-number">9</span><span class="hl-brackets">)</span><span class="hl-code">: </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-identifier">i</span><span class="hl-code"> </span><span class="hl-reserved">in</span><span class="hl-code"> </span><span class="hl-builtin">range</span><span class="hl-brackets">(</span><span class="hl-identifier">h</span><span class="hl-code">+</span><span class="hl-number">1</span><span class="hl-code">,</span><span class="hl-number">9</span><span class="hl-brackets">)</span><span class="hl-code">: </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-identifier">j</span><span class="hl-code"> </span><span class="hl-reserved">in</span><span class="hl-code"> </span><span class="hl-builtin">range</span><span class="hl-brackets">(</span><span class="hl-identifier">i</span><span class="hl-code">+</span><span class="hl-number">1</span><span class="hl-code">,</span><span class="hl-number">9</span><span class="hl-brackets">)</span><span class="hl-code">: </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-identifier">k</span><span class="hl-code"> </span><span class="hl-reserved">in</span><span class="hl-code"> </span><span class="hl-builtin">range</span><span class="hl-brackets">(</span><span class="hl-identifier">j</span><span class="hl-code">+</span><span class="hl-number">1</span><span class="hl-code">,</span><span class="hl-number">9</span><span class="hl-brackets">)</span><span class="hl-code">: </span><span class="hl-identifier">lista1</span><span class="hl-code">.</span><span class="hl-identifier">append</span><span class="hl-brackets">(</span><span class="hl-identifier">lista</span><span class="hl-brackets">[</span><span class="hl-identifier">h</span><span class="hl-brackets">]</span><span class="hl-code"> * </span><span class="hl-identifier">lista</span><span class="hl-brackets">[</span><span class="hl-identifier">i</span><span class="hl-brackets">]</span><span class="hl-code"> * </span><span class="hl-identifier">lista</span><span class="hl-brackets">[</span><span class="hl-identifier">j</span><span class="hl-brackets">]</span><span class="hl-code"> * </span><span class="hl-identifier">lista</span><span class="hl-brackets">[</span><span class="hl-identifier">k</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-comment">#cinco numeros</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-identifier">m</span><span class="hl-code"> </span><span class="hl-reserved">in</span><span class="hl-code"> </span><span class="hl-builtin">range</span><span class="hl-brackets">(</span><span class="hl-number">9</span><span class="hl-brackets">)</span><span class="hl-code">: </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-identifier">n</span><span class="hl-code"> </span><span class="hl-reserved">in</span><span class="hl-code"> </span><span class="hl-builtin">range</span><span class="hl-brackets">(</span><span class="hl-identifier">m</span><span class="hl-code">+</span><span class="hl-number">1</span><span class="hl-code">,</span><span class="hl-number">9</span><span class="hl-brackets">)</span><span class="hl-code">: </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-identifier">o</span><span class="hl-code"> </span><span class="hl-reserved">in</span><span class="hl-code"> </span><span class="hl-builtin">range</span><span class="hl-brackets">(</span><span class="hl-identifier">n</span><span class="hl-code">+</span><span class="hl-number">1</span><span class="hl-code">,</span><span class="hl-number">9</span><span class="hl-brackets">)</span><span class="hl-code">: </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-identifier">p</span><span class="hl-code"> </span><span class="hl-reserved">in</span><span class="hl-code"> </span><span class="hl-builtin">range</span><span class="hl-brackets">(</span><span class="hl-identifier">o</span><span class="hl-code">+</span><span class="hl-number">1</span><span class="hl-code">,</span><span class="hl-number">9</span><span class="hl-brackets">)</span><span class="hl-code">: </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-identifier">q</span><span class="hl-code"> </span><span class="hl-reserved">in</span><span class="hl-code"> </span><span class="hl-builtin">range</span><span class="hl-brackets">(</span><span class="hl-identifier">p</span><span class="hl-code">+</span><span class="hl-number">1</span><span class="hl-code">,</span><span class="hl-number">9</span><span class="hl-brackets">)</span><span class="hl-code">: </span><span class="hl-identifier">lista1</span><span class="hl-code">.</span><span class="hl-identifier">append</span><span class="hl-brackets">(</span><span class="hl-identifier">lista</span><span class="hl-brackets">[</span><span class="hl-identifier">m</span><span class="hl-brackets">]</span><span class="hl-code"> * </span><span class="hl-identifier">lista</span><span class="hl-brackets">[</span><span class="hl-identifier">n</span><span class="hl-brackets">]</span><span class="hl-code"> * </span><span class="hl-identifier">lista</span><span class="hl-brackets">[</span><span class="hl-identifier">o</span><span class="hl-brackets">]</span><span class="hl-code"> * </span><span class="hl-identifier">lista</span><span class="hl-brackets">[</span><span class="hl-identifier">p</span><span class="hl-brackets">]</span><span class="hl-code"> * </span><span class="hl-identifier">lista</span><span class="hl-brackets">[</span><span class="hl-identifier">q</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-identifier">contador</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-identifier">z</span><span class="hl-code"> </span><span class="hl-reserved">in</span><span class="hl-code"> </span><span class="hl-identifier">lista1</span><span class="hl-code">: </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-identifier">lista1</span><span class="hl-code">.</span><span class="hl-identifier">count</span><span class="hl-brackets">(</span><span class="hl-identifier">z</span><span class="hl-brackets">)</span><span class="hl-code"> == </span><span class="hl-number">1</span><span class="hl-code">: </span><span class="hl-identifier">contador</span><span class="hl-code"> += </span><span class="hl-number">1</span><span class="hl-code"> </span><span class="hl-reserved">print</span><span class="hl-code"> </span><span class="hl-identifier">contador</span></pre></div> </div> <p>En un grupo de facebook de programación en el cual participo, un señor lo hizo así:</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-mlcomment">/* Programacion Recreativa - Facebook * ================================== * Decir cuántos números distintos se pueden formar * como resultado del producto de uno, dos, o más * de los siguientes números, sin repetir: * 5, 22, 91, 455, 2002, 19945, 87758, 438790, 48266900. * ================================== * * Breve explicacion: * * Más allá del inconveniente de C para manejar datos * enteros de más de 20 bits, el problema que encontré * es encontrar un algoritmo que genere todas las * combinaciones sin repeticiones del conjunto de * números dados. * * La solución que hallé es usar números binarios para * generar todas las combinaciones. Para un conjunto * dado de n elementos, la cantidad de combinaciones sin * repetición se calcula como: * 2^n - 1 * * Por ejemplo, para el conjunto ABCD, la cantidad de * combinaciones posibles es 15. La generación de * subconjuntos usando números binarios es la siguiente: * * Numero Binario Combinacion * -------------------------------------------------- * ABCD * ------ * 1 00000001 D D * 2 00000010 C C * 3 00000011 CD CD * 4 00000100 B B * 5 00000101 B D BD * 6 00000110 BC BC * 7 00000111 ABC ABC * 8 00001000 A A * 9 00001001 A D AD * 10 00001010 A C AC * 11 00001011 A CD ACD * 12 00001100 AB AB * 13 00001101 AB D ABD * 14 00001110 ABC ABC * 15 00001111 ABCD ABCD * * =============================================== * * Biblioteca usada: GMP (http://gmplib.org/) * * Compilacion: * gcc -g -lgmp -Wall -o combinatoria combinatoria.c * */</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdio.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">gmp.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">()</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code"> </span><span class="hl-mlcomment">/* Para nuestro caso, el conjunto de * 9 números admite un total de: * 2^9 - 1 = 511 subconjuntos */</span><span class="hl-code"> </span><span class="hl-types">long</span><span class="hl-code"> </span><span class="hl-identifier">n</span><span class="hl-brackets">[</span><span class="hl-number">9</span><span class="hl-brackets">]</span><span class="hl-code"> = </span><span class="hl-brackets">{</span><span class="hl-number">5</span><span class="hl-code">, </span><span class="hl-number">22</span><span class="hl-code">, </span><span class="hl-number">91</span><span class="hl-code">, </span><span class="hl-number">455</span><span class="hl-code">, </span><span class="hl-number">2002</span><span class="hl-code">, </span><span class="hl-number">19945</span><span class="hl-code">, </span><span class="hl-number">87758</span><span class="hl-code">, </span><span class="hl-number">438790</span><span class="hl-code">, </span><span class="hl-number">48266900</span><span class="hl-brackets">}</span><span class="hl-code">; </span><span class="hl-identifier">mpz_t</span><span class="hl-code"> </span><span class="hl-identifier">r</span><span class="hl-brackets">[</span><span class="hl-number">512</span><span class="hl-brackets">]</span><span class="hl-code">; </span><span class="hl-identifier">mpz_t</span><span class="hl-code"> </span><span class="hl-identifier">ac</span><span class="hl-code">; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">i</span><span class="hl-code">, </span><span class="hl-identifier">j</span><span class="hl-code">, </span><span class="hl-identifier">k</span><span class="hl-code">, </span><span class="hl-identifier">m</span><span class="hl-code">; </span><span class="hl-identifier">mpz_init</span><span class="hl-brackets">(</span><span class="hl-identifier">ac</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-mlcomment">/* Acumulador */</span><span class="hl-code"> </span><span class="hl-identifier">mpz_array_init</span><span class="hl-brackets">(</span><span class="hl-identifier">r</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">, </span><span class="hl-number">512</span><span class="hl-code">, </span><span class="hl-number">128</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">i</span><span class="hl-code">=</span><span class="hl-number">1</span><span class="hl-code">, </span><span class="hl-identifier">k</span><span class="hl-code">=</span><span class="hl-number">1</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code">&lt;</span><span class="hl-number">512</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code">++, </span><span class="hl-identifier">k</span><span class="hl-code">=</span><span class="hl-number">1</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code"> </span><span class="hl-identifier">mpz_set_ui</span><span class="hl-brackets">(</span><span class="hl-identifier">ac</span><span class="hl-code">, </span><span class="hl-number">1</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-mlcomment">/* Generacion de la combinacion */</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">j</span><span class="hl-code">=</span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-identifier">j</span><span class="hl-code">&lt;</span><span class="hl-number">9</span><span class="hl-code">; </span><span class="hl-identifier">j</span><span class="hl-code">++, </span><span class="hl-identifier">k</span><span class="hl-code">&lt;&lt;=</span><span class="hl-number">1</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-code"> </span><span class="hl-identifier">i</span><span class="hl-code">&amp;</span><span class="hl-identifier">k</span><span class="hl-code"> </span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-identifier">mpz_mul_ui</span><span class="hl-brackets">(</span><span class="hl-identifier">ac</span><span class="hl-code">, </span><span class="hl-identifier">ac</span><span class="hl-code">, </span><span class="hl-identifier">n</span><span class="hl-brackets">[</span><span class="hl-identifier">j</span><span class="hl-brackets">])</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-mlcomment">/* Control de duplicado */</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">m</span><span class="hl-code">=</span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-identifier">mpz_cmp_ui</span><span class="hl-brackets">(</span><span class="hl-identifier">r</span><span class="hl-brackets">[</span><span class="hl-identifier">m</span><span class="hl-brackets">]</span><span class="hl-code">, </span><span class="hl-number">0</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">m</span><span class="hl-code">++</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">mpz_cmp</span><span class="hl-brackets">(</span><span class="hl-identifier">ac</span><span class="hl-code">,</span><span class="hl-identifier">r</span><span class="hl-brackets">[</span><span class="hl-identifier">m</span><span class="hl-brackets">]))</span><span class="hl-code"> </span><span class="hl-reserved">break</span><span class="hl-code">; </span><span class="hl-mlcomment">/* Si el valor no está en el arreglo hay que agregarlo */</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">mpz_cmp_ui</span><span class="hl-brackets">(</span><span class="hl-identifier">r</span><span class="hl-brackets">[</span><span class="hl-identifier">m</span><span class="hl-brackets">]</span><span class="hl-code">, </span><span class="hl-number">0</span><span class="hl-brackets">))</span><span class="hl-code"> </span><span class="hl-identifier">mpz_set</span><span class="hl-brackets">(</span><span class="hl-identifier">r</span><span class="hl-brackets">[</span><span class="hl-identifier">m</span><span class="hl-brackets">]</span><span class="hl-code">, </span><span class="hl-identifier">ac</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-mlcomment">/* Mostrar los valores finales */</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">i</span><span class="hl-code">=</span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code">&lt;=</span><span class="hl-identifier">m</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code">++</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-identifier">gmp_printf</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">%Zd</span><span class="hl-special">\</span><span class="hl-string">n</span><span class="hl-quotes">&quot;</span><span class="hl-code">, </span><span class="hl-identifier">r</span><span class="hl-brackets">[</span><span class="hl-identifier">i</span><span class="hl-brackets">])</span><span class="hl-code">; </span><span class="hl-identifier">mpz_clear</span><span class="hl-brackets">(</span><span class="hl-identifier">ac</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-brackets">}</span></pre></div> </div> <p>Pero como se puede apreciar, utilizó una librería especial, y además bitwise; ¿es la única solución posible? ¿Es necesario saber bien bitwise para la competencia?</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-244170</guid>
				<title>Project Euler</title>
				<link>http://cym.wikidot.com/forum/t-244170/project-euler</link>
				<description></description>
				<pubDate>Thu, 27 May 2010 23:12:49 +0000</pubDate>
				<wikidot:authorName>caeruleus</wikidot:authorName>				<wikidot:authorUserId>483269</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>&quot;Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and programming skills will be required to solve most problems.&quot;</p> <p>Lo traduzco: Project Euler es una serie de problemas desafiantes de Matemática y Computación que van a requerir más de tan solo habilidades matemáticas para resolverlos. A pesar de que la Matemática te ayudará a llegar a métodos elegantes y eficientes, el uso de la computadora y las habilidades de programación van a ser requeridos para resolver la mayoría de los problemas.</p> <p>Acá dejo el link para quien le interese: <a href="http://projecteuler.net/">http://projecteuler.net/</a></p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-243920</guid>
				<title>Ronda Colegial de CyM 2010</title>
				<link>http://cym.wikidot.com/forum/t-243920/ronda-colegial-de-cym-2010</link>
				<description>¡Comienza el Torneo!</description>
				<pubDate>Wed, 26 May 2010 17:23:19 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>¡Comienza CyM 2010!</p> <p>Este viernes será la Ronda Colegial: el <strong>28 de mayo</strong> de 2010, de 14 a 17hs.</p> <p>Se organiza y toma en cada colegio. Al igual que en años recientes, la coordinación con las sedes será centralizada por nosotros. Más información y detalles organizativos en <a href="http://www.oma.org.ar/nacional/cym/">la página web de CyM</a>. Ante cualquier duda pueden contactarnos escribiendo a <span class="wiki-email">ra.gro.amo|myc#ra.gro.amo|myc</span>, o posteando a este foro-cym.</p> <p><em>Importante</em>: noten que este año el cronograma está &#8220;corrido&#8221; hacia principio de año, para facilitar la participación en el Torneo, especialmente en las rondas cercanas a fin de año.</p> <p>¡Difundan el Torneo! Y por supuesto, disfruten CyM. :-)</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-241735</guid>
				<title>Criba de Eratóstenes</title>
				<link>http://cym.wikidot.com/forum/t-241735/criba-de-eratostenes</link>
				<description></description>
				<pubDate>Sat, 15 May 2010 16:02:36 +0000</pubDate>
				<wikidot:authorName>caeruleus</wikidot:authorName>				<wikidot:authorUserId>483269</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Hola, había estado viendo el CyM98, más específicamente este post: <a href="http://oma.org.ar/omanet/cym98/cribaeratostenes.htm">http://oma.org.ar/omanet/cym98/cribaeratostenes.htm</a>. Sobre la criba de Eratóstenes; entendí el procedimiento, pero cuando vi el código en QB, la verdad que no llegué a entenderlo del todo. Yo hice éste script en C: <a href="http://pastebin.org/240015">http://pastebin.org/240015</a>. No sé cuál es su opinión, qué parte del código mejorar, o si está bien de esa forma.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-220168</guid>
				<title>Trabajar con digitos en QB</title>
				<link>http://cym.wikidot.com/forum/t-220168/trabajar-con-digitos-en-qb</link>
				<description></description>
				<pubDate>Wed, 17 Feb 2010 19:33:14 +0000</pubDate>
				<wikidot:authorName>Kevin</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>Hola, Quiero participar en este torneo y tengo algunas dudas acerca del lenguaje (aprendí a programar en QB en noviembre del 2009, gracias a la pagina de la OMA :B).<br /> Primero, como trabajar con digitos en QB. Osea, problemas como &quot;Contar cuántos números primos positivos hay menores o iguales que 1.000.000.000 tal que el producto de sus dígitos también es un número primo.&quot;, o problemas que impliquen sumar los dígitos de un número, etc. Porque, yo estaba pensando en algun método, pero me parecía demasiado lento y largo. (también tengo problemas con esto de los primos xD Pero con algunas funciones lo soluciono jaja)<br /> Después leí que no se puede usar &quot;goto&quot;, o algo así, por que?<br /> Si hay alguien que lee esto, les agradecería :B</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-212818</guid>
				<title>CyM 2009, Zonal, Enunciado 2</title>
				<link>http://cym.wikidot.com/forum/t-212818/cym-2009-zonal-enunciado-2</link>
				<description></description>
				<pubDate>Wed, 20 Jan 2010 05:50:05 +0000</pubDate>
				<wikidot:authorName>elopez93</wikidot:authorName>				<wikidot:authorUserId>425457</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Bueno, soy del nivel 3, y ando con el segundo problema de <a href="http://www.oma.org.ar/enunciados/cym09r3.htm">http://www.oma.org.ar/enunciados/cym09r3.htm</a></p> <p>La 'primera parte', que vendría a ser (i) A^3 + B^3 + C^3 = D^3, la pude lograr sin problemas, con un par de loops, y las soluciones salen a montones instantáneamente.<br /> Ahora, el problema se me viene con (ii) A^4 + B^4 + C^4 + D^4 = E^4. El problema me avisa que acá los números que voy a operar son más grandes que un int, por lo que uso double. Pero no puedo loopear por todos los números del 1 al double+x, tardaría una eternidad en hacerlo. Puedo optimizar un poco el algoritmo, pero igual tardo una eternidad. Mi pregunta es, hay alguna propiedad que no conozca de este tipo de ecuaciones? Leí por ahi que son ecuaciones diofánticas, porque trabajan sólo con enteros, pero no encontré ninguna propiedad. Alguna pista?</p> <p>Por último, y para no quedarme con ninguna duda, cuando dice &quot;Las ecuaciones A^3 + B^3 = C^3 y A^4 + B^4 = C^4 no tienen soluciones con A, B, C enteros positivos&quot;, eso viene solamente a ejemplificar, o tiene alguna relación directa con el problema? Ya que estamos, les comento que leí que a^n+b^n=c^n (teorema de fermat) no tiene solución entera con n&gt;2 y a,b,c != 0, según una demostración de más de 200 páginas que no me preocupé demasiado en buscar ni entender jaja</p> <p>Saludos y muchas gracias!</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-209936</guid>
				<title>Voy por buen camino?</title>
				<link>http://cym.wikidot.com/forum/t-209936/voy-por-buen-camino</link>
				<description></description>
				<pubDate>Fri, 08 Jan 2010 23:45:20 +0000</pubDate>
				<wikidot:authorName>elopez93</wikidot:authorName>				<wikidot:authorUserId>425457</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Buenas!</p> <p>Resolví un par de problemas en mi tiempo libre, porque tengo intenciones de entrar al torneo. Les dejo lo que hice, les pido que por favor opinen, y me digan si los hice bien, como puedo mejorar, si hice algo que no se permite, si me olvide de algo, o cualquier cosa que se les ocurra y que pueda resultarme útil para mejorar :)</p> <p>Bueno, les comento que soy nivel 3 si no saque mal la cuenta, en 2010 voy a hacer el ultimo año del secundario/polimodal</p> <ul> <li>Problemas del Intercolegial 2007</li> <li>* 1 -&gt; <a href="http://paste.pocoo.org/show/163473/">http://paste.pocoo.org/show/163473/</a></li> <li>* 2 -&gt; <a href="http://paste.pocoo.org/show/163474/">http://paste.pocoo.org/show/163474/</a></li> <li>* 3 -&gt; <a href="http://paste.pocoo.org/show/163477/">http://paste.pocoo.org/show/163477/</a></li> </ul> <ul> <li>Problemas del Intercolegial 2009</li> <li>* 1 -&gt; <a href="http://paste.pocoo.org/show/163479/">http://paste.pocoo.org/show/163479/</a></li> <li>* 2 -&gt; <a href="http://paste.pocoo.org/show/163480/">http://paste.pocoo.org/show/163480/</a></li> <li>* 3 -&gt; <a href="http://paste.pocoo.org/show/163481/">http://paste.pocoo.org/show/163481/</a></li> </ul> <ul> <li>Problemas del Zonal 2009</li> <li>* 1 -&gt; <a href="http://paste.pocoo.org/show/163482/">http://paste.pocoo.org/show/163482/</a></li> </ul> <p>Paso a contarles también que uso GNU/Linux en mi PC, por lo que practico con el IDE Geany para escribir los programas. Geany usa el compilador por defecto, que es GCC. ¿Es muy distinto esto del IDE y compilador &quot;oficial&quot; del torneo? ¿Me puede traer algún problema?</p> <p>Un saludo y muchísimas gracias!</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-209705</guid>
				<title>CyM</title>
				<link>http://cym.wikidot.com/forum/t-209705/cym</link>
				<description></description>
				<pubDate>Fri, 08 Jan 2010 02:03:34 +0000</pubDate>
				<wikidot:authorName>Emilio</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>Hola! Me preguntaba si este medio de comunicación está funcionando todavía, porque veo que la mayoría de los post datan con 700 dias de antiguedad o más :P</p> <p>Tengo intenciones de participar en el torneo, pero no creo que mi escuela participe. Conozco a una persona que es profesora y preparaba alumnos para los torneos &quot;convencionales&quot; de la OMA (Ñandú y OMA), creen que si hablo con ella pueda participar?</p> <p>Por último, he estado haciendo algunos problemas del archivo de enunciados para practicar un poco, ¿podría publicar aquí lo que hice para que lo revisen y me den su opinión?</p> <p>Un saludo, y muchísimas gracias!</p> <p>PD: Si me dicen que esto está vivo me registro :D</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-203265</guid>
				<title>Programacion estructurada</title>
				<link>http://cym.wikidot.com/forum/t-203265/programacion-estructurada</link>
				<description></description>
				<pubDate>Thu, 10 Dec 2009 17:02:07 +0000</pubDate>
				<wikidot:authorName>mathias_95</wikidot:authorName>				<wikidot:authorUserId>242691</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Hola gente, acá estoy después de nuevo con otra duda jajaja.</p> <p>Es sobre la programacion estructurada y Cym. En C++ y creo que en otros lenguajes también, existen sentencias como break, goto, continue, etc. Mi pregunta es la siguiente (dirigida a Pablo o Gustavo, en lo posible): En Cym, permiten el uso de este tipo de sentencias? Es ilegal o esta bien usarlas? Y específicamente hablando de C++, en algunas estructuras como switch, donde es casi imprscindible el uso del break para ahorrar memoria&#8230; es válido usarlo?</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-199356</guid>
				<title>C++</title>
				<link>http://cym.wikidot.com/forum/t-199356/c</link>
				<description></description>
				<pubDate>Mon, 23 Nov 2009 19:26:05 +0000</pubDate>
				<wikidot:authorName>mathias_95</wikidot:authorName>				<wikidot:authorUserId>242691</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Hola gente de CyM!</p> <p>El otro día estaba leyendo un poco sobre el lenguaje C++, y decidí aprenderlo para el próximo año. Fui a la página de CyM, donde decía las instrucciones para descargar el IDE y el compilador del lenguaje. Después de descargarlo e instalarlo (¡qué complicación!), escribí un &quot;holamundo&quot; para probar el compilador. Sin embargo, cuando guardo el código y aprieto Alt+F9, el compilador me tira un mensaje &quot;Don't know how to build holamundo.o from c:/DJGPP/bin/holamundo&quot;.</p> <p>¿Qué quiere decir esto, y como lo resuelvo? Aclaro que yo instale todos los archivos en C:\DJGPP\ y que yo accedo al compilador desde la carpeta \bin\rhide.exe.</p> <p>Además, me gustaría saber si puedo modificar el tamaño de la ventana (es incomodo trabajar en full-screen) y si me pueden recomendar algún manual o guía (en inglés o en castellano, es lo mismo).</p> <p>Gracias,<br /> Mathias.</p> <p>Les dejo el codigo que usé, puede ser que el error esté ahí:</p> <div class="code"> <pre><code>#include &lt;iostream.h&gt; using namespace std; int main() { cout &lt;&lt; &quot;holamundo&quot; &lt;&lt; end1; return = 0; }</code></pre></div> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-199143</guid>
				<title>Alterados por Pi</title>
				<link>http://cym.wikidot.com/forum/t-199143/alterados-por-pi</link>
				<description>Convocan a grabación 3ra temporada.</description>
				<pubDate>Sun, 22 Nov 2009 22:00:44 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Me llegó este mensaje, puede interesarles, o interesar a gente que conozcan:</p> <blockquote> <p>Convocatoria para grabaciones del programa de Adrián Paenza</p> <p>La producción de Alterados por Pi convoca al público a concurrir a las clases<br /> abiertas de matemática que dictará el profesor Adrián Paenza.</p> <p>Las clases se grabarán y formarán parte de la nueva temporada del ciclo Alterados<br /> por Pi, que se emite por el canal Encuentro. Durante las charlas se realizarán<br /> actividades didácticas en las que participarán los asistentes.</p> <p>Las grabaciones se realizarán en los días 23, 24, 25 y 30 de noviembre, y el 3 y 4<br /> de diciembre [de 2009].</p> <p>Los interesados podrán asistir gratuitamente previa inscripción vía mail a<br /> <span class="wiki-email">ra.moc.senoiccudorposole|ipxsodaretla#ra.moc.senoiccudorposole|ipxsodaretla</span> .</p> <p>Para más información, llamar al 4856-8999 [telediscado 011].</p> </blockquote> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-196877</guid>
				<title>Ayuda con el problema 2 de la Ronda Final del 2001</title>
				<link>http://cym.wikidot.com/forum/t-196877/ayuda-con-el-problema-2-de-la-ronda-final-del-2001</link>
				<description></description>
				<pubDate>Sat, 14 Nov 2009 19:50:22 +0000</pubDate>
				<wikidot:authorName>MindOverMatter</wikidot:authorName>				<wikidot:authorUserId>391493</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Hola gente del foro!!<br /> Estaba resolviendo algunos problemas viejos a modo de practica y me trabe en este.<br /> Cito:</p> <blockquote> <p><em>&quot;Encontrar el menor entero positivo que tenga exactamente:<br /> a) 400 divisores.<br /> b) 1000 divisores.&quot;</em></p> </blockquote> <p>Hacerlo con fuerza bruta se me hizo un poco complicado, puesto que no tengo limites entre los cuales buscar numeros (o son demasiado amplios).<br /> Ademas, sospecho que debo estar perdiendome de alguna propiedad de cantidades de divisores que pueda implementar.<br /> Algun consejo/sugerencia?<br /> Gracias de antemano :)</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-193807</guid>
				<title>Ronda Nacional de CyM 2009</title>
				<link>http://cym.wikidot.com/forum/t-193807/ronda-nacional-de-cym-2009</link>
				<description>Información sobre la Ronda Nacional del 12mo Torneo de Computación y Matemática.</description>
				<pubDate>Wed, 04 Nov 2009 00:04:31 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Apareció en la <a href="http://www.oma.org.ar/nacional/cym/">página de CyM</a> información sobre la Final de CyM:</p> <p>La Ronda Nacional de CyM 2009 será en la Ciudad Autónoma de Buenos Aires (Capital Federal), en las fechas previstas en el <a href="http://www.oma.org.ar/2009.htm">calendario de OMA</a>. Próximamente más detalles.</p> <p>También pueden consultar la <a href="http://www.oma.org.ar/nacional/cym/cym09r3a.htm">lista de aprobados en la Ronda Zonal</a> de este año. ¡Los esperamos a todos! Aprovecho para felicitarlos, y también para felicitar a los que no aprobaron, porque participar ya es meritorio.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-180628</guid>
				<title>Semana de la Matemática</title>
				<link>http://cym.wikidot.com/forum/t-180628/semana-de-la-matematica</link>
				<description>En la ciudad de Buenos Aires, del 21 al 23 de octubre.</description>
				<pubDate>Sun, 06 Sep 2009 19:29:09 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>La Semana de la Matemática es una actividad organizada por la Facultad de Ciencias Exactas y Naturales de la Universidad de Buenos Aires. Con el fin de difundir la carrera de Matemática y la disciplina en general a estudiantes secundarios.</p> <p>Se realizará del 21 al 23 de octubre de 2009, en Ciudad Universitaria, Capital Federal. La entrada es libre y gratuita. Aunque es útil anotarse. Más información en <a href="http://exactas.uba.ar/">http://exactas.uba.ar/</a>.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-179702</guid>
				<title>Semana de la Computación 2009</title>
				<link>http://cym.wikidot.com/forum/t-179702/semana-de-la-computacion-2009</link>
				<description>En la ciudad de Buenos Aires, del 23 al 25 de septiembre.</description>
				<pubDate>Wed, 02 Sep 2009 00:27:40 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>La Semana de la Computación es una actividad organizada por la Facultad de Ciencias Exactas y Naturales de la Universidad de Buenos Aires. Con el fin de difundir la carrera de Ciencias de la Computación y la disciplina en general a estudiantes secundarios.</p> <p>Se realizará del 23 al 25 de septiembre de 2009, en Ciudad Universitaria, Capital Federal. La entrada es libre y gratuita. Aunque es útil anotarse. Más información en <a href="http://www.dc.uba.ar/events/sdc/2009">http://www.dc.uba.ar/events/sdc/2009</a>.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-166937</guid>
				<title>Enunciados 2008</title>
				<link>http://cym.wikidot.com/forum/t-166937/enunciados-2008</link>
				<description></description>
				<pubDate>Fri, 03 Jul 2009 21:54:19 +0000</pubDate>
				<wikidot:authorName>mathias_95</wikidot:authorName>				<wikidot:authorUserId>242691</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Hola despues de tanto tiempo.</p> <p>Me gustaria saber por qué no están publicados los enunciados de 2008&#160;en la pagina de la OMA</p> <p>Saludos.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-162304</guid>
				<title>No hace falta login</title>
				<link>http://cym.wikidot.com/forum/t-162304/no-hace-falta-login</link>
				<description></description>
				<pubDate>Fri, 12 Jun 2009 16:14:08 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>No hace falta login para mandar mensajes a esta parte del foro. En algunos browsers parece haber problemas con el login. Si es tu caso, posteá acá tu consulta.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-161522</guid>
				<title>Ronda Colegial de CyM 2009</title>
				<link>http://cym.wikidot.com/forum/t-161522/ronda-colegial-de-cym-2009</link>
				<description>¡El próximo viernes comienza el 12mo Torneo!</description>
				<pubDate>Mon, 08 Jun 2009 23:24:13 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>¡Comienza CyM 2009! Este año será el 12mo Torneo de Computación y Matemática.</p> <p>El próximo viernes será la Ronda Colegial: el <strong>12 de junio de 2009</strong>, de 14 a 17hs.</p> <p>Se organiza y toma en cada colegio. Al igual que el año pasado, la coordinación con las sedes será centralizada por nosotros. Más información y detalles organizativos en la <a href="http://www.oma.org.ar/nacional/cym/">página web de CyM</a>. Ante cualquier duda pueden <a href="http://cym.wikidot.com/contact">contactarnos</a> escribiendo a <span class="wiki-email">ra.gro.amo|myc#ra.gro.amo|myc</span>, o posteando a este <a href="http://cym.wikidot.com/forum:start">foro-cym</a>.</p> <p>¡Difundan el Torneo! Y por supuesto, disfruten CyM. :-)</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-161518</guid>
				<title>CyM sale a Internet</title>
				<link>http://cym.wikidot.com/forum/t-161518/cym-sale-a-internet</link>
				<description>¿Qué dice la gente acerca de CyM? ¡Hay videos!</description>
				<pubDate>Mon, 08 Jun 2009 23:03:37 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>¿Qué dice la gente acerca de CyM? Encontré dos videos en YouTube. :-O</p> <p>Varios alumnos del colegio <a href="http://campus.ort.edu.ar/">ORT</a> cuentan&#8230;</p> <p>&#8230; qué es CyM:</p> <p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/4zOwz2aLIxs&hl=en&fs=1&rel=0" /> <param name="allowFullScreen" value="true" /> <param name="allowscriptaccess" value="always" /> <embed src="http://www.youtube.com/v/4zOwz2aLIxs&hl=en&fs=1&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344" /></object></p> <p>&#8230; y qué les pareció el Nacional de CyM 2007, en Mar del Plata:</p> <p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/3EgB9YSAVRI&hl=en&fs=1&rel=0" /> <param name="allowFullScreen" value="true" /> <param name="allowscriptaccess" value="always" /> <embed src="http://www.youtube.com/v/3EgB9YSAVRI&hl=en&fs=1&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344" /></object></p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-107944</guid>
				<title>Cuánto va a tardar (CyM 2009, Ronda Nacional)</title>
				<link>http://cym.wikidot.com/forum/t-107944/cuanto-va-a-tardar-cym-2009-ronda-nacional</link>
				<description>Una pregunta que quedó pendiente...</description>
				<pubDate>Mon, 24 Nov 2008 23:26:54 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>En una de las discusiones de problemas de la Final de CyM2008 nos preguntamos cuánto puede tardar un código como éste:</p> <div class="code"> <pre><code>k = 0 for a = 1 to 333 for b = 1 to 127 for c = 1 to 19 k = k + 1 next next next print k</code></pre></div> <br /> Y todos, o unos cuantos, sabían cómo estimar cuánto puede tardar: ese código hace <span class="math-inline">$333 \cdot 127 \cdot 19 = 803529$</span> veces la operación &#8220;k = k + 1&#8221;. Hoy día 803529 de esas operaciones es poquito, pero si hiciera 803529<sup>2</sup> sería mucho. De paso, resulta que el programa al terminar imprime justamente 803529. Hay más sobre este tema en la página <a href="http://cym.wikidot.com/comp:cuanto-va-a-tardar">Cuánto va a tardar</a>. <p>La pregunta que les dejé pendiente (a los participantes de Nivel 1, ojo) fue: ¿Qué resultado muestra el siguiente programita?</p> <div class="code"> <pre><code>k = 0 for a = 1 to 1000 for b = 1 to a for c = 1 to b k = k + 1 next next next print k</code></pre></div> <br /> ¿Y si en lugar de 1000 escribo 100? ¿Si escribo 2009? Pueden hacer el programa y fijarse&#8230; :-)<br /> ¿Y si pongo un número <span class="math-inline">$N$</span>, cuánto da?
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-102641</guid>
				<title>Ronda Nacional de CyM 2008</title>
				<link>http://cym.wikidot.com/forum/t-102641/ronda-nacional-de-cym-2008</link>
				<description>Información sobre la Ronda Nacional del 11mo Torneo de Computación y Matemática.</description>
				<pubDate>Wed, 05 Nov 2008 21:57:17 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>¡Se viene la Ronda Nacional!</p> <p>Como seguramente habrán visto en la <a href="http://www.oma.org.ar/nacional/cym/">página web de CyM</a>, la Final de CyM 2008 será en la Ciudad de Buenos Aires (Capital Federal), en la fecha prevista en el calendario de OMA. Próximamente más detalles.</p> <p>Si no lo vieron todavía, está disponible la <a href="http://www.oma.org.ar/nacional/cym/cym08r3a.htm">lista de aprobados de la Ronda Zonal</a> y por lo tanto clasificados para la Ronda Nacional.</p> <p>¡Los esperamos a todos!</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-94016</guid>
				<title>Muestra de Matemática Elemental 2008</title>
				<link>http://cym.wikidot.com/forum/t-94016/muestra-de-matematica-elemental-2008</link>
				<description>Actividad en la Ciudad de Buenos Aires</description>
				<pubDate>Thu, 02 Oct 2008 01:31:05 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Se trata de una actividad en la Ciudad de Buenos Aires que puede ser del interés de la comunidad de CyM.</p> <p>Los días 2, 3 y 4 de octubre se presentará en el Centro Cultural Rojas, Av. Corrientes 2038, la &#8220;Muestra de Matemática Elemental 2008&#8221;, organizada por el Área de Matemática del Ciclo Básico Común de la Universidad de Buenos Aires.</p> <p>La exposición consistirá en un viaje a lo largo de 2600 años de Matemática en el cual se mostrarán los hechos históricos más importantes que marcaron avances en esta ciencia sin dejar de lado juegos de estrategia y desafíos matemáticos que permitirán un acercamiento hacia su belleza. Como parte de la muestra, el Programa de Historia de la FCEyN presentará la “Historia de las Máquinas de Cálculo”, un trabajo de aproximación hacia los primeros artefactos que dieron origen a la mecanización del cálculo. Serán expuestas máquinas del siglo XIX, como también del siglo pasado, junto con paneles que ilustrarán las diversas etapas que atravesó el cálculo mecánico desde los primitivos ábacos hasta las primeras máquinas de calcular electrónicas.</p> <p>La muestra estará abierta de 9.00 a 21.00 con entrada libre y gratuita.</p> <p>Más información en <a href="http://www.cbc.uba.ar/noti/matematica.html">http://www.cbc.uba.ar/noti/matematica.html</a></p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-88864</guid>
				<title>Ronda Intercolegial 2008 - Nivel 2</title>
				<link>http://cym.wikidot.com/forum/t-88864/ronda-intercolegial-2008-nivel-2</link>
				<description>Problemas de la Ronda Intercolegial 2008</description>
				<pubDate>Sun, 14 Sep 2008 00:48:15 +0000</pubDate>
				<wikidot:authorName>nikouni</wikidot:authorName>				<wikidot:authorUserId>50640</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p><strong>Problema 1</strong></p> <p>Hallar todas las soluciones, con <span class="math-inline">$A$</span>,<span class="math-inline">$B$</span> y <span class="math-inline">$C$</span> enteros, de la ecuación <span class="math-inline">$2008 \cdot A^2 + 2009 \cdot B^2 + 2010 \cdot C^2 = 14241444$</span></p> <p><strong>Problema 2</strong><br /> a) Entre todos los múltiplos de <span class="math-inline">$2008$</span>, ¿cuántos tienes <span class="math-inline">$6$</span> cifras?<br /> b) Entre todos los múltiplos de <span class="math-inline">$2008$</span> terminados en <span class="math-inline">$4$</span>, ¿cuántos tienes <span class="math-inline">$6$</span> cifras? Por ejemplo <span class="math-inline">$166664$</span>, <span class="math-inline">$467864$</span>, <span class="math-inline">$628504$</span>, etc.</p> <p><strong>Problema 3</strong></p> <p><span class="math-inline">$N$</span> es un entero positivo que tiene exactamente <span class="math-inline">$9$</span> divisores y sus divisores suman <span class="math-inline">$6$</span> ¿Cuánto vale <span class="math-inline">$N$</span>?<br /> a) Encontrar <span class="math-inline">$1$</span> solución.<br /> b) Encontar todas las soluciones.<br /> Por ejemplo, <span class="math-inline">$6$</span> tiene <span class="math-inline">$4$</span> divisores, que suman <span class="math-inline">$1+2+3+6=12$</span></p> <p>La idea es que el que quiera comente lo que hizo, lo que pensó, lo que no hizo, lo que no pensó, etc sobre estos problemas.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-88855</guid>
				<title>Ronda Intercolegial 2008</title>
				<link>http://cym.wikidot.com/forum/t-88855/ronda-intercolegial-2008</link>
				<description>Problemas de la Ronda Intercolegial 2008</description>
				<pubDate>Sat, 13 Sep 2008 23:50:33 +0000</pubDate>
				<wikidot:authorName>nikouni</wikidot:authorName>				<wikidot:authorUserId>50640</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p><strong>Problema 1</strong></p> <p>Hallar todas las soluciones, con <span class="math-inline">$A$</span> y <span class="math-inline">$B$</span> enteros, de la ecuación</p> <p><span class="math-inline">$$ 4\cdot\ A^2 + 2 \cdot\ B^2 = 2008 $$</span></p> <p><strong>Problema 2</strong><br /> Buscar dos números enteros <span class="math-inline">$X$</span> e <span class="math-inline">$Y$</span> tales que al dividir a <span class="math-inline">$X$</span> por <span class="math-inline">$109$</span> el resto es <span class="math-inline">$19$</span>, al dividir a <span class="math-inline">$Y$</span> por <span class="math-inline">$208$</span> el resto es <span class="math-inline">$28$</span> y además el resultado de multiplicar a <span class="math-inline">$X \cdot Y$</span> es un número menor que <span class="math-inline">$1000000000$</span> que es múltiplo de <span class="math-inline">$411723$</span>.</p> <p><strong>Problema3</strong><br /> En el <em>Museo de los Chicos</em> hay tres tipos de entradas: niños, adultos y jubilados. Los tres valores son cantidades enteras de pesos. El viernes pasado concurrieron <span class="math-inline">$320$</span> niños, <span class="math-inline">$67$</span> adultos y <span class="math-inline">$103$</span> jubilados y la recaudación fue de $<span class="math-inline">$7132$</span>. En cambio, el sábado concurrieron <span class="math-inline">$617$</span> niños, <span class="math-inline">$267$</span> adultos y <span class="math-inline">$83$</span> jubilados y la recaudación fue de $<span class="math-inline">$14956$</span>. ¿Cuánto cuesta la entrada de cada clase? ¿Es la única posibilidad?</p> <p>La idea es que el que quiera comente lo que hizo, lo que pensó, lo que no hizo, lo que no pensó, etc sobre estos problemas.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-82890</guid>
				<title>Semana de la Computación 2008</title>
				<link>http://cym.wikidot.com/forum/t-82890/semana-de-la-computacion-2008</link>
				<description>En la ciudad de Buenos Aires, del 3 al 5 de septiembre.</description>
				<pubDate>Thu, 21 Aug 2008 01:47:24 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>La Semana de la Computación es una actividad organizada por la Facultad de Ciencias Exactas y Naturales de la Universidad de Buenos Aires. Con el fin de difundir la carrera de Ciencias de la Computación y la disciplina en general a estudiantes secundarios.</p> <p>Se realizará del 3 al 5 de septiembre de 2008, en Ciudad Universitaria, Capital Federal. La entrada es libre y gratuita. Aunque es útil anotarse. Más información en <a href="http://www.dc.uba.ar/events/sdc/2008">http://www.dc.uba.ar/events/sdc/2008</a>.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-81871</guid>
				<title>Ronda Intercolegial de CyM 2008</title>
				<link>http://cym.wikidot.com/forum/t-81871/ronda-intercolegial-de-cym-2008</link>
				<description>Se postergó la fecha.</description>
				<pubDate>Fri, 15 Aug 2008 23:18:35 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>La Ronda Intercolegial del 11mo Torneo de Computación y Matemática se postergó. La nueva fecha es el viernes 12 de septiembre de 2008.</p> <p>Más información: como siempre en la página web de CyM: <a href="http://www.oma.org.ar/nacional/cym/">http://www.oma.org.ar/nacional/cym/</a></p> <p>(La página de CyM estuvo caída esta semana, pero ya está nuevamente disponible.)</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-65985</guid>
				<title>¿Qué contenidos hacen falta en el wiki?</title>
				<link>http://cym.wikidot.com/forum/t-65985/que-contenidos-hacen-falta-en-el-wiki</link>
				<description>Pregunta abierta a la comunidad de CyM</description>
				<pubDate>Tue, 10 Jun 2008 00:54:37 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Estamos migrando al nuevo wiki el contenido del wiki anterior. ¿Llegaron a conocerlo? :-)</p> <p>Mientras tanto, una especie de encuesta o relevamiento para todos, participantes, ex-participantes y profesores/as: <strong>¿qué temas necesitan? ¿qué contenidos hacen falta en CyM-wiki?</strong></p> <p>No es requisito que estuvieran en el wiki anterior, pueden ser nuevos. Eso sí, no vamos a repetir acá cosas que ya están en la <a href="http://www.oma.org.ar/nacional/cym/index.htm">página oficial de CyM</a> o en el curso <a href="http://www.oma.org.ar/omanet/cym98/">CyM98</a>. También puede pasar que mi respuesta a un pedido sea &#8220;¡buena idea! ¿no te gustaría escribirlo?&#8221; ;-) Pero no dejen que eso los/las frene, pueden tener suerte y lo agregamos. :) Tampoco se preocupen si ya pasó mucho tiempo desde este mensaje, pueden responder en cualquier momento.</p> <p>Manden sus respuestas a este thread (click donde dice &#8216;reply&#8217; acá a la derecha).</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-65090</guid>
				<title>Ronda Colegial de CyM 2008</title>
				<link>http://cym.wikidot.com/forum/t-65090/ronda-colegial-de-cym-2008</link>
				<description>Es el próximo viernes! Detalles...</description>
				<pubDate>Fri, 06 Jun 2008 16:53:26 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>¡Comienza CyM 2008!</p> <p>La Ronda Colegial del 11mo Torneo de Computación y Matemática es el próximo viernes, 13 de junio de 2008, de 14 a 17. Se organiza y toma en cada colegio. Este año la coordinación de las sedes será centralizada. Esperamos así que la organización sea más rápida y fluida. Más información y detalles organizativos en la página web de CyM: <a href="http://www.oma.org.ar/nacional/cym/">http://www.oma.org.ar/nacional/cym/</a></p> <p>¡Difundan el Torneo! Y&#8230; disfruten el Torneo. :-)</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-63674</guid>
				<title>Evento para estudiantes secundarios</title>
				<link>http://cym.wikidot.com/forum/t-63674/evento-para-estudiantes-secundarios</link>
				<description>En la ciudad de Buenos Aires, 26 de junio de 2008.</description>
				<pubDate>Sun, 01 Jun 2008 17:03:06 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>El 26 de junio de 2008 se realiza en la ciudad de Buenos Aires el II Encuentro de Informática para Estudiantes Secundarios. Para que conozcan las carreras de Computación y algo sobre la Informática en Argentina. Entrada libre y gratuita.<br /> Más información en <a href="http://www.dc.uba.ar/events/segundoencuentro">http://www.dc.uba.ar/events/segundoencuentro</a>.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-61090</guid>
				<title>Google Treasure Hunt 2008</title>
				<link>http://cym.wikidot.com/forum/t-61090/google-treasure-hunt-2008</link>
				<description>Una competencia de puzzles para testear las habilidades para resolver problemas relacionados con la computacion, redes y unix [y por supuesto algo de matemática].</description>
				<pubDate>Wed, 21 May 2008 17:54:55 +0000</pubDate>
				<wikidot:authorName>ismaelbej</wikidot:authorName>				<wikidot:authorUserId>23455</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>A todos aquellos que quieran participar buena suerte!!</p> <p><a href="http://treasurehunt.appspot.com/">http://treasurehunt.appspot.com/</a></p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-29437</guid>
				<title>Aclaraciones sobre algunas preguntas/dudas/errores del Nacional 2007</title>
				<link>http://cym.wikidot.com/forum/t-29437/aclaraciones-sobre-algunas-preguntas-dudas-errores-del-nacio</link>
				<description></description>
				<pubDate>Sat, 01 Dec 2007 18:21:00 +0000</pubDate>
				<wikidot:authorName>nikouni</wikidot:authorName>				<wikidot:authorUserId>50640</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>ALGUNAS PREGUNTAS/DUDAS/ERROES QUE SE HICIERON DURANTE LA PRUEBA (con sus correspondientes respuestas):</p> <p><strong>1.</strong> ¿0 es positivo? RESPUESTA: No.</p> <p><strong>2.</strong> ¿Debo entregar el código de mi programa en mi hoja? RESPUESTA: No es necesario.</p> <p><strong>3.</strong> ¿Cuál es el rango de la variable &quot;long int&quot; en C/C++?<br /> RESPUESTA:</p> <p>El rango es, al igual que el int, -2147483648 a 2147483647 (con signo) y de 0 a 4294967295 (sin signo)<br /> Para enteros, el tipo más grande que se puede usar es long long int, que va desde -9223372036854775807 a 9223372036854775807 (con signo) y de 0 a 18446744073709551615 (sin signo).<br /> Estos tamaños varían según la máquina en la que estemos compilando el programa, pero estos valores son con los que generalmente se encontrarán.<br /> Para saber en su máquina qué rangos toman estos tipos, usen las variables INT_MIN e INT_MAX (para int) y LLONG_MIN y LLONG_MAX (para long long int).</p> <p>(Prometo algún día poner la lista de los tipos más usados y sus rangos para los 3 lenguajes, :-) )</p> <p><strong>4.</strong> ¿Cómo hago la raíz cuadrada en Pascal?<br /> RESPUESTA: la función que calcula la raíz cuadrada de un número x es sqrt(x). Un programa que escribe por pantalla la raíz de un número n sería:</p> <div class="code"> <pre><code>program raiz; var n:real; begin n:=16; writeln(sqrt(n)); end.</code></pre></div> <p>(Ojo que el valor que devuelve es real)</p> <p><strong>5.</strong> ¿Cómo elevo un número x a la y?<br /> RESPUESTA:</p> <p><span style="text-decoration: underline;">Basic:</span></p> <div class="code"> <pre><code>x=3 y=4 print x^y</code></pre></div> <br /> <span style="text-decoration: underline;">Pascal:</span> con la función intpower. Ejemplo: <div class="code"> <pre><code>program potencia; uses math; var x:real; y:integer; begin x:=3; y:=4; writeln(intpower(x,y)); end.</code></pre></div> <br /> Acá x debe ser de tipo real e y de tipo entero. El resultado de la función es un real. Para usar esta función se debe importar la librería math. <p><span style="text-decoration: underline;">C/C++</span>: con la función pow. Ejemplo:</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdio.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">math.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">()</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code"> </span><span class="hl-types">double</span><span class="hl-code"> </span><span class="hl-identifier">a</span><span class="hl-code">,</span><span class="hl-identifier">b</span><span class="hl-code">; </span><span class="hl-identifier">a</span><span class="hl-code">=</span><span class="hl-number">3</span><span class="hl-code">; </span><span class="hl-identifier">b</span><span class="hl-code">=</span><span class="hl-number">4</span><span class="hl-code">; </span><span class="hl-identifier">printf</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">%f</span><span class="hl-quotes">&quot;</span><span class="hl-code">,</span><span class="hl-identifier">pow</span><span class="hl-brackets">(</span><span class="hl-identifier">a</span><span class="hl-code">,</span><span class="hl-identifier">b</span><span class="hl-brackets">))</span><span class="hl-code">; </span><span class="hl-brackets">}</span></pre></div> </div> <p>Acá x e y deben ser de tipos reales y el resultado también. Se debe incluir math.h</p> <p><strong>6.</strong> Si programás en Pascal, <strong>JAMÁS</strong> declares una variable con el nombre &quot;program&quot;, porque es una palabra reservada y te va a causar muchos problemas.</p> <p><strong>7.</strong> ¿Cómo armo el número abcd a partir de los dígitos a,b,c y d?<br /> RESPUESTA:<br /> La forma correcta de hacer esto es (lo escribo en Pascal, pero es casi igual para los demás lenguajes):</p> <div class="code"> <pre><code>num := 1000*a + 100*b + 10*c + d;</code></pre></div> <p><strong>8.</strong> Tecla insert: Tecla de los teclados de computadora, principalmente utilizada para cambiar entre dos modos de entrada de texto desde el teclado.</p> <p>Uno de los modos (modo insertar), inserta el texto que se escribe directamente desde donde está ubicado el cursor.</p> <p>El otro modo (modo sobreescribir), cuando se escribe, el texto insertado reemplaza al texto que le sigue al cursor.</p> <p>ALGUNOS ERRORES/COSAS A MEJORAR QUE VIMOS DURANTE LA CORRECCIÓN:</p> <p><strong>1.</strong> Si se quiere chequear que cuatro números A,B,C y D cumplan con la condición de que A&lt;B&lt;C&lt;D, no se puede hacer esto en ninguno de los 3 lenguajes usados para CyM:</p> <div class="code"> <pre><code>A&lt;B&lt;C&lt;D</code></pre></div> <br /> Lo correcto sería: <div class="code"> <pre><code>A&lt;B and B&lt;C and C&lt;D</code></pre></div> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-27562</guid>
				<title>Mañana empieza CyM&#039;07!</title>
				<link>http://cym.wikidot.com/forum/t-27562/manana-empieza-cym-07</link>
				<description></description>
				<pubDate>Mon, 19 Nov 2007 19:40:00 +0000</pubDate>
				<wikidot:authorName>Tavo92</wikidot:authorName>				<wikidot:authorUserId>50565</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Mañana empieza CyM'07&#160;en Mar del Plata, ciudad muy linda en la cual tuve el gusto de estar el año pasado en CyM'06.<br /> Les deseo suerte a todos y que la pasemos bien&#8230; siempre es divertido reirse en la arena ( ? ).</p> <p>Ah, traten de no apagarle la computadora al que esta al lado suyo xD (No suele pasar, pero mejor decirlo)</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-27554</guid>
				<title>2006, nivel 2, problema 2, nacional: ehh.....esta esto bien?</title>
				<link>http://cym.wikidot.com/forum/t-27554/2006-nivel-2-problema-2-nacional:ehh-esta-esto-bien</link>
				<description></description>
				<pubDate>Mon, 19 Nov 2007 18:30:29 +0000</pubDate>
				<wikidot:authorName>Fixman</wikidot:authorName>				<wikidot:authorUserId>51941</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Bueno, despues de estar un tiempo haciendo este problema me dió este resultado:</p> <p>K es 5679<br /> La clave es PARTUZA</p> <p>Por alguna casualidad en el espacio tiempo mi programa dió un error que dió a &#8230; esta solución o asi es el resultado?</p> <p>Les dejo el programa:</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">stdio.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-prepro">#include </span><span class="hl-quotes">&lt;</span><span class="hl-string">conio.h</span><span class="hl-quotes">&gt;</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">()</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code"> </span><span class="hl-types">const</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">msg</span><span class="hl-brackets">[]</span><span class="hl-code"> = </span><span class="hl-brackets">{</span><span class="hl-number">864</span><span class="hl-code">, </span><span class="hl-number">5679</span><span class="hl-code">, </span><span class="hl-number">2222</span><span class="hl-code">, </span><span class="hl-number">3580</span><span class="hl-code">, </span><span class="hl-number">9259</span><span class="hl-code">, </span><span class="hl-number">7654</span><span class="hl-code">, </span><span class="hl-number">5679</span><span class="hl-brackets">}</span><span class="hl-code"> ; </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">j</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code"> ; </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">i</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code"> ; </span><span class="hl-identifier">i</span><span class="hl-code"> &lt; </span><span class="hl-reserved">sizeof</span><span class="hl-code"> </span><span class="hl-identifier">msg</span><span class="hl-code"> / </span><span class="hl-reserved">sizeof</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-brackets">)</span><span class="hl-code"> ; </span><span class="hl-identifier">i</span><span class="hl-code">++</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-identifier">j</span><span class="hl-code"> &gt;?= </span><span class="hl-identifier">msg</span><span class="hl-brackets">[</span><span class="hl-identifier">i</span><span class="hl-brackets">]</span><span class="hl-code"> ; </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">k</span><span class="hl-code"> = </span><span class="hl-number">1</span><span class="hl-code"> ; </span><span class="hl-identifier">k</span><span class="hl-code"> &lt;= </span><span class="hl-identifier">j</span><span class="hl-code"> ; </span><span class="hl-identifier">k</span><span class="hl-code">++</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">let</span><span class="hl-brackets">[</span><span class="hl-number">30</span><span class="hl-brackets">]</span><span class="hl-code"> ; </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">i</span><span class="hl-code"> = '</span><span class="hl-identifier">A</span><span class="hl-code">' ; </span><span class="hl-identifier">i</span><span class="hl-code"> &lt;= '</span><span class="hl-identifier">Z</span><span class="hl-code">' ; </span><span class="hl-identifier">i</span><span class="hl-code">++</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-identifier">let</span><span class="hl-brackets">[</span><span class="hl-identifier">i</span><span class="hl-code"> - '</span><span class="hl-identifier">A</span><span class="hl-code">'</span><span class="hl-brackets">]</span><span class="hl-code"> = </span><span class="hl-brackets">((</span><span class="hl-identifier">i</span><span class="hl-code"> - '</span><span class="hl-identifier">A</span><span class="hl-code">' + </span><span class="hl-number">1</span><span class="hl-brackets">)</span><span class="hl-code"> * </span><span class="hl-identifier">k</span><span class="hl-brackets">)</span><span class="hl-code"> % </span><span class="hl-number">10000</span><span class="hl-code"> ; </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">i</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code"> ; </span><span class="hl-identifier">i</span><span class="hl-code"> &lt; </span><span class="hl-reserved">sizeof</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">msg</span><span class="hl-brackets">)</span><span class="hl-code"> / </span><span class="hl-reserved">sizeof</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-brackets">)</span><span class="hl-code"> ; </span><span class="hl-identifier">i</span><span class="hl-code">++</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">u</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code"> ; </span><span class="hl-identifier">u</span><span class="hl-code"> &lt; '</span><span class="hl-identifier">Z</span><span class="hl-code">' - '</span><span class="hl-identifier">A</span><span class="hl-code">' + </span><span class="hl-number">1</span><span class="hl-code"> ; </span><span class="hl-identifier">u</span><span class="hl-code">++</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">msg</span><span class="hl-brackets">[</span><span class="hl-identifier">i</span><span class="hl-brackets">]</span><span class="hl-code"> == </span><span class="hl-identifier">let</span><span class="hl-brackets">[</span><span class="hl-identifier">u</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-reserved">goto</span><span class="hl-code"> </span><span class="hl-identifier">si</span><span class="hl-code"> ; </span><span class="hl-reserved">goto</span><span class="hl-code"> </span><span class="hl-identifier">asd</span><span class="hl-code"> ; </span><span class="hl-identifier">si</span><span class="hl-code">:; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-identifier">printf</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">K es %d</span><span class="hl-special">\</span><span class="hl-string">nLa clave es </span><span class="hl-quotes">&quot;</span><span class="hl-code">, </span><span class="hl-identifier">k</span><span class="hl-brackets">)</span><span class="hl-code"> ; </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">i</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code"> ; </span><span class="hl-identifier">i</span><span class="hl-code"> &lt; </span><span class="hl-reserved">sizeof</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">msg</span><span class="hl-brackets">)</span><span class="hl-code"> / </span><span class="hl-reserved">sizeof</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-brackets">)</span><span class="hl-code"> ; </span><span class="hl-identifier">i</span><span class="hl-code">++</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">u</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code"> ; </span><span class="hl-identifier">u</span><span class="hl-code"> &lt; '</span><span class="hl-identifier">Z</span><span class="hl-code">' - '</span><span class="hl-identifier">A</span><span class="hl-code">' + </span><span class="hl-number">1</span><span class="hl-code"> ; </span><span class="hl-identifier">u</span><span class="hl-code">++</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">let</span><span class="hl-brackets">[</span><span class="hl-identifier">u</span><span class="hl-brackets">]</span><span class="hl-code"> == </span><span class="hl-identifier">msg</span><span class="hl-brackets">[</span><span class="hl-identifier">i</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-identifier">putchar</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">u</span><span class="hl-code"> + '</span><span class="hl-identifier">A</span><span class="hl-code">'</span><span class="hl-brackets">)</span><span class="hl-code"> ; </span><span class="hl-identifier">puts</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;&quot;</span><span class="hl-brackets">)</span><span class="hl-code"> ; </span><span class="hl-identifier">getch</span><span class="hl-brackets">()</span><span class="hl-code"> ; </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-number">0</span><span class="hl-code"> ; </span><span class="hl-identifier">asd</span><span class="hl-code">:; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-identifier">printf</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">La clave es invalida</span><span class="hl-special">\</span><span class="hl-string">n</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code"> ; </span><span class="hl-identifier">getch</span><span class="hl-brackets">()</span><span class="hl-code"> ; </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-number">0</span><span class="hl-code"> ; </span><span class="hl-brackets">}</span></pre></div> </div> 
				 	]]>
				</content:encoded>							</item>
				</channel>
</rss>