<?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 - mensajes nuevos en el foro</title>
		<link>http://cym.wikidot.com/forum/start</link>
		<description>Mensajes en el foro del sitio &quot;CyM&quot; - Torneo de Computación y Matemática</description>
				<copyright></copyright>
		<lastBuildDate>Fri, 17 Apr 2026 21:00:31 +0000</lastBuildDate>
		
					<item>
				<guid>http://cym.wikidot.com/forum/t-3753572#post-3603348</guid>
				<title>Re: Comenzó el Desafío CyM 2017</title>
				<link>http://cym.wikidot.com/forum/t-3753572/comenzo-el-desafio-cym-2017#post-3603348</link>
				<description></description>
				<pubDate>Thu, 28 Sep 2017 20:01:04 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Agregamos una sección de <a href="http://www.oma.org.ar/nacional/cym/desafiocym.htm">preguntas y respuestas (FAQ)</a> con consultas que nos mandaron sobre el <strong>Desafío CyM 2017</strong>.</p> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8988">Foro CyM / Novedades</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-3753572/comenzo-el-desafio-cym-2017">Comenzó el Desafío CyM 2017</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-3753572#post-3601471</guid>
				<title>Comenzó el Desafío CyM 2017</title>
				<link>http://cym.wikidot.com/forum/t-3753572/comenzo-el-desafio-cym-2017#post-3601471</link>
				<description></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> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8988">Foro CyM / Novedades</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-3753572/comenzo-el-desafio-cym-2017">Comenzó el Desafío CyM 2017</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-162304#post-2674909</guid>
				<title></title>
				<link>http://cym.wikidot.com/forum/t-162304/no-hace-falta-login#post-2674909</link>
				<description></description>
				<pubDate>Fri, 21 Oct 2016 22:09:53 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Hola Juan, bienvenido al Foro CyM! El problema al que te referís es <a href="http://www.oma.org.ar/enunciados/cym99r3.htm#nivel1problema1">CyM99r3n1p1</a>. Te invito a que nos cuentes qué pensaste hasta ahora para resolver el problema, y lo mandes al ConsultorioCyM para <a href="http://cym.wikidot.com/forum/c-20537/nivel-1">Nivel 1</a>, que es otra de las secciones de este mismo foro. Antes hacía falta registrarse, pero ahora estamos probando cómo resulta si ya no hace falta: cualquier persona puede mandar/poner mensajes.</p> <p>Por las dudas, algunas ideas:</p> <ul> <li>¿probaste hacer un dibujo o un esquema?</li> <li>¿intentaste probar con algunos valores para ver cómo da? por ejemplo imaginar que perdió 1 soldadito; cómo dan las cuentas? Si suponemos que perdió 2? 3?</li> <li>¿probaste expresarlo como ecuaciones o algún otro formalismo matemático?</li> </ul> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-86180">Foro CyM / Tema libre (casi) - Abierto</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-162304/no-hace-falta-login">No hace falta login</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-162304#post-2653804</guid>
				<title></title>
				<link>http://cym.wikidot.com/forum/t-162304/no-hace-falta-login#post-2653804</link>
				<description></description>
				<pubDate>Thu, 22 Sep 2016 14:45:12 +0000</pubDate>
				<wikidot:authorName>Juan</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>Quiero resolver el problema del 11 Nov. del 1999 . Que dice :&quot;pablito tenia 5040 soltadizos , se le perdieron algunos&#8230;etc&#8230;etc..&quot;<br /> No puedo resolverlo &#8230;si me pueden mandar la solución por favor</p> <p>Desde ya , muchas gracias<br /> Juan</p> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-86180">Foro CyM / Tema libre (casi) - Abierto</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-162304/no-hace-falta-login">No hace falta login</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-1039576#post-2131758</guid>
				<title>Ronda Nacional de CyM 2014</title>
				<link>http://cym.wikidot.com/forum/t-1039576/ronda-nacional-de-cym-2014#post-2131758</link>
				<description></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> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8988">Foro CyM / Novedades</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-1039576/ronda-nacional-de-cym-2014">Ronda Nacional de CyM 2014</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-1023919#post-2110541</guid>
				<title>Ronda Zonal de CyM 2014</title>
				<link>http://cym.wikidot.com/forum/t-1023919/ronda-zonal-de-cym-2014#post-2110541</link>
				<description></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> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8988">Foro CyM / Novedades</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-1023919/ronda-zonal-de-cym-2014">Ronda Zonal de CyM 2014</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-993253#post-2093919</guid>
				<title>Ronda Intercolegial de CyM 2014</title>
				<link>http://cym.wikidot.com/forum/t-993253/ronda-intercolegial-de-cym-2014#post-2093919</link>
				<description></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> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8988">Foro CyM / Novedades</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-993253/ronda-intercolegial-de-cym-2014">Ronda Intercolegial de CyM 2014</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-903631#post-2060703</guid>
				<title>C++ avanzado para olimpiadas</title>
				<link>http://cym.wikidot.com/forum/t-903631/c-avanzado-para-olimpiadas#post-2060703</link>
				<description></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> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8990">Foro CyM / Tema libre (casi)</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-903631/c-avanzado-para-olimpiadas">C++ avanzado para olimpiadas</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-903356#post-2060593</guid>
				<title>C++ basico para olimpiadas</title>
				<link>http://cym.wikidot.com/forum/t-903356/c-basico-para-olimpiadas#post-2060593</link>
				<description></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> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8990">Foro CyM / Tema libre (casi)</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-903356/c-basico-para-olimpiadas">C++ basico para olimpiadas</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-244354#post-2059750</guid>
				<title>Re: Problema semanal, combinaciones</title>
				<link>http://cym.wikidot.com/forum/t-244354/problema-semanal-combinaciones#post-2059750</link>
				<description></description>
				<pubDate>Sat, 28 Jun 2014 00:40:49 +0000</pubDate>
				<wikidot:authorName>Newtonis penguin</wikidot:authorName>				<wikidot:authorUserId>1469664</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Mi solucion con la que tuve en cuenta todo lo que dijieron arriba sobre todo lo de guardar solo los numeros a los que se elevava los primos de la factorizacion. Muchos comentarios. Como use solo iostream ninguna otra libreria, solo arreglos se me hizo algo largo algunas partes pero esta todo lleno de comentarios, no se nescesita ningun conocimiento de ninguna libreria especial para entenderlo, con saber arreglos basta, no use gmp porque se que en la competencia no lo dejan usar. Mi solucion privilegia gastar menos proscesador pero requiere mas memoria, por ejemplo para los numeros marados guardo una matriz con todos los numeros y los que ya me dieron los marco con true, lo que gasta mas memoria pero menos ciclos de trabajo.<br /> Por otro lado elopez93 que programaste la solucion en python, yo por mucho tiempo ame python y fue mi lenguaje principal, pero a la larga me di cuenta que todas la cosas de python tienen un equivalente en c, aunque tenga algo mas de burocracia, a la larga los dos tienen exactamente las mismas estructuras, aunque c por alguna razon es mucho mas veloz que python en iteraciones basicas como el for y otras cosa en general. saludos cualquier duda del programa o algo que pueda mejorar, o algo mal hecho me dicen ;) No se si seria capaz de hacer un programa asi en la ronda nacional de cym es muy dificil editar mucho codigo con el rhide voy a ver si me lo bajo para aclimatarme, las dos competencias en las que participe me costo mucho.</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-mlcomment">/* * File: main.cpp * Author: ariel * * Created on June 27, 2014, 8:19 PM */</span><span class="hl-code"> </span><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-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">const</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">cantidad_numeros</span><span class="hl-code"> = </span><span class="hl-number">9</span><span class="hl-code">; </span><span class="hl-comment">//cantidad de numeros</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">cantidad_primos</span><span class="hl-code"> = </span><span class="hl-number">6</span><span class="hl-code">; </span><span class="hl-comment">//cantidad de primos que usamos</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">numeros</span><span class="hl-brackets">[</span><span class="hl-identifier">cantidad_numeros</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-comment">//numeros</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">primos</span><span class="hl-brackets">[</span><span class="hl-identifier">cantidad_primos</span><span class="hl-brackets">]</span><span class="hl-code"> = </span><span class="hl-brackets">{</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">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">3989</span><span class="hl-brackets">}</span><span class="hl-code">; </span><span class="hl-comment">//almaceno dichos primos</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">numeros_por_primo</span><span class="hl-brackets">[</span><span class="hl-identifier">cantidad_numeros</span><span class="hl-brackets">][</span><span class="hl-identifier">cantidad_primos</span><span class="hl-brackets">]</span><span class="hl-code">; </span><span class="hl-comment">//los primos son 2, 5, 7, 11, 13 y 3989 para formar los numeros, guardamos a que numero se eleva cada integrante de la factorizacion</span><span class="hl-code"> </span><span class="hl-types">bool</span><span class="hl-code"> </span><span class="hl-identifier">resultados_multiplicacion</span><span class="hl-brackets">[</span><span class="hl-number">7</span><span class="hl-brackets">][</span><span class="hl-number">7</span><span class="hl-brackets">][</span><span class="hl-number">4</span><span class="hl-brackets">][</span><span class="hl-number">7</span><span class="hl-brackets">][</span><span class="hl-number">4</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-comment">//el maximo numero que podemos obtener es 2^6*5^6*7^3*11^6*13^3*3989^4. </span><span class="hl-code"> </span><span class="hl-comment">//Estoy almacenando una supermatriz de 6 dimensiones donde guardo para cada numero true si ya lo marque y es uno de los productos posibles y false si no</span><span class="hl-code"> </span><span class="hl-comment">//De esta forma gasto mas memoria, pero mejoro eficiencia ya que recorrer un vector del 0 al n es mucho mas lento que revisar directamente un lugar del mismo</span><span class="hl-code"> </span><span class="hl-comment">//Como no hay limite de memoria optamos por esta solucion</span><span class="hl-code"> </span><span class="hl-types">bool</span><span class="hl-code"> </span><span class="hl-identifier">selected</span><span class="hl-brackets">[</span><span class="hl-identifier">cantidad_numeros</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">false</span><span class="hl-code">,</span><span class="hl-reserved">false</span><span class="hl-code">,</span><span class="hl-reserved">false</span><span class="hl-code">,</span><span class="hl-reserved">false</span><span class="hl-code">,</span><span class="hl-reserved">false</span><span class="hl-code">,</span><span class="hl-reserved">false</span><span class="hl-code">,</span><span class="hl-reserved">false</span><span class="hl-code">,</span><span class="hl-reserved">false</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-comment">//los numeros que estoy revisando multiplicar. false si no, true si si</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">profundidad</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-comment">//la profundidad de la iteracion de la recursiva, para el problema en si no interesa, es solo para el metodo de generar los binarios desde 000... hasta 111...</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">cantidad</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-comment">//cantidad de soluciones</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">recall</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-comment">//La funcion recursiva nescesariaa para los binarios de 000.... a 111...</span><span class="hl-code"> </span><span class="hl-types">bool</span><span class="hl-code"> </span><span class="hl-identifier">todos_cero</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-comment">//Revisamos si todos los binarios son 00000 que no vale</span><span class="hl-code"> </span><span class="hl-types">void</span><span class="hl-code"> </span><span class="hl-identifier">calcular_primos</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-comment">//Calculamos la factorizacion de primos de cada numero y la almacenamos en el array numeros_por_primo</span><span class="hl-code"> </span><span class="hl-types">void</span><span class="hl-code"> </span><span class="hl-identifier">calcular_primo</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-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//calcular la factorizacion de un primo del numero x (es solo para organizar)</span><span class="hl-code"> </span><span class="hl-types">void</span><span class="hl-code"> </span><span class="hl-identifier">revisar_multiplicacion</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-comment">//hacemos la multiplicacion, revisamos si existe si no existe la marcamos como true el numero y sumamos 1 a la cantidad</span><span class="hl-code"> </span><span class="hl-types">void</span><span class="hl-code"> </span><span class="hl-identifier">setear_0</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-comment">//inicializamos la supermatriz para guardar todos los resultados que puede dar la multiplicacion</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-identifier">setear_0</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-comment">//inicializo la supermatriz</span><span class="hl-code"> </span><span class="hl-identifier">calcular_primos</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-comment">//calculam os los primos </span><span class="hl-code"> </span><span class="hl-identifier">recall</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-comment">//invocamos la recursiva</span><span class="hl-code"> </span><span class="hl-identifier">cout</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">cantidad</span><span class="hl-code">&lt;&lt;</span><span class="hl-identifier">endl</span><span class="hl-code">; </span><span class="hl-comment">//mostramos la respuesta</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">recall</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">profundidad</span><span class="hl-code"> == </span><span class="hl-identifier">cantidad_numeros</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">todos_cero</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-comment">//ignoro</span><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-identifier">revisar_multiplicacion</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-comment">//reviso la multiplicacion si se repite y sumo a cantidad</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">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">it</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">it</span><span class="hl-code"> &lt; </span><span class="hl-number">2</span><span class="hl-code">;</span><span class="hl-identifier">it</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">profundidad</span><span class="hl-code"> ++; </span><span class="hl-identifier">recall</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-comment">//entro un nivel de profundidad y rellamo</span><span class="hl-code"> </span><span class="hl-identifier">profundidad</span><span class="hl-code"> --; </span><span class="hl-identifier">selected</span><span class="hl-brackets">[</span><span class="hl-identifier">profundidad</span><span class="hl-brackets">]</span><span class="hl-code"> = !</span><span class="hl-identifier">selected</span><span class="hl-brackets">[</span><span class="hl-identifier">profundidad</span><span class="hl-brackets">]</span><span class="hl-code">; </span><span class="hl-comment">//paso de 0 a 1. Para entender se debe tener el conocimiento basico de recursiva, si lo explico de 0 es muy largo</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-types">bool</span><span class="hl-code"> </span><span class="hl-identifier">todos_cero</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-comment">//algoritmo sencillo</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">cantidad_numeros</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">selected</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">false</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">void</span><span class="hl-code"> </span><span class="hl-identifier">calcular_primos</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">cantidad_numeros</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">//por cada numero</span><span class="hl-code"> </span><span class="hl-identifier">calcular_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-comment">//calculo primos</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">calcular_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-types">int</span><span class="hl-code"> </span><span class="hl-identifier">valor_numero</span><span class="hl-code"> = </span><span class="hl-identifier">numeros</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">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">cantidad_primos</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-types">int</span><span class="hl-code"> </span><span class="hl-identifier">primo_actual</span><span class="hl-code"> = </span><span class="hl-identifier">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-reserved">while</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">valor_numero</span><span class="hl-code"> % </span><span class="hl-identifier">primo_actual</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">valor_numero</span><span class="hl-code"> /= </span><span class="hl-identifier">primo_actual</span><span class="hl-code">; </span><span class="hl-comment">//divido por el primo actual</span><span class="hl-code"> </span><span class="hl-identifier">numeros_por_primo</span><span class="hl-brackets">[</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-code"> </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-comment">//elevo en la factorizacion de primos al numero por 1 mas, ej</span><span class="hl-code"> </span><span class="hl-mlcomment">/****** procedimiento de factorizacion en los 6 primos posibles 48266900 /2 24133450 * 2^1 /2 12066725 * 2^2 /5 2413345 * 2^2 * 5^1 /5 482669 * 2^2 * 5^2 /7 no puedo /11 43879 * 2^2 * 5^2 * 7^0 * 11^1 /11 3989 * 2^2 * 5^2 * 7^0 * 11^2 /3989 1 * 2^2 * 5^2 * 7^0 * 11^2 * 13^0 * 3989 ^ 1 entonces mi arreglo tiene { 2 , 2 , 0 , 2 , 0 , 1 } *******/</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-types">void</span><span class="hl-code"> </span><span class="hl-identifier">revisar_multiplicacion</span><span class="hl-brackets">(){</span><span class="hl-code"> </span><span class="hl-comment">//multiplico sumando los exponentes</span><span class="hl-code"> </span><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">multiplicacion</span><span class="hl-brackets">[</span><span class="hl-identifier">cantidad_primos</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-identifier">cantidad_primos</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">multiplicacion</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">0</span><span class="hl-code">; </span><span class="hl-comment">//inicializo en 0</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">cantidad_numeros</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">selected</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">false</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//si no es uno de los numeros que multiplico</span><span class="hl-code"> </span><span class="hl-reserved">continue</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">cantidad_primos</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-identifier">multiplicacion</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">numeros_por_primo</span><span class="hl-brackets">[</span><span class="hl-identifier">x</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-comment">//sumo cada uno de los exponentes primos individualmente</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">if</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-code"> !</span><span class="hl-identifier">resultados_multiplicacion</span><span class="hl-brackets">[</span><span class="hl-code"> </span><span class="hl-identifier">multiplicacion</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-brackets">][</span><span class="hl-code"> </span><span class="hl-identifier">multiplicacion</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-brackets">][</span><span class="hl-code"> </span><span class="hl-identifier">multiplicacion</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-brackets">][</span><span class="hl-code"> </span><span class="hl-identifier">multiplicacion</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-brackets">][</span><span class="hl-code"> </span><span class="hl-identifier">multiplicacion</span><span class="hl-brackets">[</span><span class="hl-number">4</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">multiplicacion</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-brackets">]</span><span class="hl-code"> </span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-comment">//si no lo marque</span><span class="hl-code"> </span><span class="hl-identifier">resultados_multiplicacion</span><span class="hl-brackets">[</span><span class="hl-code"> </span><span class="hl-identifier">multiplicacion</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-brackets">][</span><span class="hl-code"> </span><span class="hl-identifier">multiplicacion</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-brackets">][</span><span class="hl-code"> </span><span class="hl-identifier">multiplicacion</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-brackets">][</span><span class="hl-code"> </span><span class="hl-identifier">multiplicacion</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-brackets">][</span><span class="hl-code"> </span><span class="hl-identifier">multiplicacion</span><span class="hl-brackets">[</span><span class="hl-number">4</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">multiplicacion</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-brackets">]</span><span class="hl-code"> = </span><span class="hl-reserved">true</span><span class="hl-code">; </span><span class="hl-comment">//lo marco y sumo</span><span class="hl-code"> </span><span class="hl-identifier">cantidad</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">setear_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">7</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">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">b</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">b</span><span class="hl-code"> &lt; </span><span class="hl-number">7</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">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">c</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">c</span><span class="hl-code"> &lt; </span><span class="hl-number">4</span><span class="hl-code">;</span><span class="hl-identifier">c</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">d</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">d</span><span class="hl-code"> &lt; </span><span class="hl-number">7</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-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">e</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">e</span><span class="hl-code"> &lt; </span><span class="hl-number">4</span><span class="hl-code">;</span><span class="hl-identifier">e</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">f</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">f</span><span class="hl-code"> &lt; </span><span class="hl-number">5</span><span class="hl-code">;</span><span class="hl-identifier">f</span><span class="hl-code">++</span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">resultados_multiplicacion</span><span class="hl-brackets">[</span><span class="hl-identifier">a</span><span class="hl-brackets">][</span><span class="hl-identifier">b</span><span class="hl-brackets">][</span><span class="hl-identifier">c</span><span class="hl-brackets">][</span><span class="hl-identifier">d</span><span class="hl-brackets">][</span><span class="hl-identifier">e</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-reserved">false</span><span class="hl-code">; </span><span class="hl-comment">//inicializo en 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-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> <div class="code"> <pre><code>237 RUN FINISHED; exit value 0; real time: 0ms; user: 0ms; system: 0ms</code></pre></div> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-20539">Consultorio CyM / Nivel 3</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-244354/problema-semanal-combinaciones">Problema semanal, combinaciones</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-755125#post-1924036</guid>
				<title>Programar</title>
				<link>http://cym.wikidot.com/forum/t-755125/programar#post-1924036</link>
				<description></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> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8990">Foro CyM / Tema libre (casi)</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-755125/programar">Programar</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-719271#post-1884774</guid>
				<title>Ronda Nacional de CyM 2013</title>
				<link>http://cym.wikidot.com/forum/t-719271/ronda-nacional-de-cym-2013#post-1884774</link>
				<description></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> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8988">Foro CyM / Novedades</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-719271/ronda-nacional-de-cym-2013">Ronda Nacional de CyM 2013</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-690754#post-1884772</guid>
				<title>Re: Ronda Zonal de CyM 2013</title>
				<link>http://cym.wikidot.com/forum/t-690754/ronda-zonal-de-cym-2013#post-1884772</link>
				<description></description>
				<pubDate>Mon, 04 Nov 2013 11:27:39 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>La Ronda Zonal se postergó por problemas con feriados y asuetos. :-(</p> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8988">Foro CyM / Novedades</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-690754/ronda-zonal-de-cym-2013">Ronda Zonal de CyM 2013</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-690754#post-1844445</guid>
				<title>Ronda Zonal de CyM 2013</title>
				<link>http://cym.wikidot.com/forum/t-690754/ronda-zonal-de-cym-2013#post-1844445</link>
				<description></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> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8988">Foro CyM / Novedades</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-690754/ronda-zonal-de-cym-2013">Ronda Zonal de CyM 2013</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-690751#post-1844442</guid>
				<title>Ronda Intercolegial de CyM 2013</title>
				<link>http://cym.wikidot.com/forum/t-690751/ronda-intercolegial-de-cym-2013#post-1844442</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> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8988">Foro CyM / Novedades</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-690751/ronda-intercolegial-de-cym-2013">Ronda Intercolegial de CyM 2013</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-578544#post-1602346</guid>
				<title>Re: 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#post-1602346</link>
				<description></description>
				<pubDate>Tue, 30 Oct 2012 21:38:57 +0000</pubDate>
				<wikidot:authorName>Newtonis penguin</wikidot:authorName>				<wikidot:authorUserId>1469664</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Bueno, ese codigo lo que hace es generar por cada digito del numero un M que esta formado por un 1 y la cantidad de ceros segun el digito que sea, ej:</p> <p>123456<br /> se forman m que son</p> <p>1000000 para el 1<br /> 100000 para el 2<br /> 10000 para el 3<br /> 1000 para el 4<br /> 100 para el 5<br /> 10 para el 6</p> <p>y luego se saca el modulo del numero con todos los m (formando N1) y tambien con todos los m/10 (formando N2) ej:</p> <p>123456&#160;% 1000000 = 123456 y 123456&#160;% (1000000/10) = 23456<br /> 123456&#160;% 100000 = 23456 y 123456&#160;% (100000/10) = 3456<br /> 123456&#160;% 10000 = 3456 y 123456&#160;% (10000/10) = 456<br /> 123456&#160;% 1000 = 456 y 123456&#160;% (1000/10) = 56<br /> 123456&#160;% 100 = 56 y 123456&#160;% (100/10) = 6<br /> 123456&#160;% 10 = 6 y 123456&#160;% (10/10) = 0</p> <p>el siguiente paso es restar N1 y N2 y formamos los N3<br /> 123456 - 23456 = 100000<br /> 23456 - 3456 = 20000<br /> 3456 - 456 = 3000<br /> 456 - 56 = 400<br /> 56 - 6 = 50<br /> 6 - 0 = 6</p> <p>y lo ultimo dividimos N3 con (M/10) obteniendo las cifras y almacenandolas en la lista CI</p> <p>100000 / 100000 = 1<br /> 20000 / 10000 = 2<br /> 3000 / 1000 = 3<br /> 400 / 100 = 4<br /> 50 / 10 = 5<br /> 6 / 1 = 6</p> <p>y la lista queda asi [6,5,4,3,2,1]</p> <p>para mejorarlo se me ocurre en vez de dividir M en todos los casos por 10, primero formar todos los M y despues crear todos los modulos del numero y m, almacenarlos en una lista, y en vez de volver a crear de nuevo M/10 Hacer que se saque el modulo de la cifra y el m de un lugar de la lista y despues el modulo de la cifra y el m que sigue en la lista y restarlos, en vez de volver a dividir por 10. esto lo haria mas rapido o es lo mismo? ahora igual lo subo de esa forma.</p> <p>por otro lado sin usar m por el momento no se me ocurre nada &#8230;</p> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-86180">Foro CyM / Tema libre (casi) - Abierto</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-578544/forma-de-descomponer-los-digitos-de-un-numero">Forma de descomponer los digitos de un numero</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-577559#post-1602255</guid>
				<title>Campeones 2012</title>
				<link>http://cym.wikidot.com/forum/t-577559/ronda-nacional-de-cym-2012#post-1602255</link>
				<description></description>
				<pubDate>Tue, 30 Oct 2012 19:44:32 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Ya están disponibles en la <a href="http://www.oma.org.ar/nacional/cym/">página de CyM</a> los <a href="http://www.oma.org.ar/nacional/cym/cym12r4a.htm">campeones</a> del 15to Torneo de Computación y Matemática (CyM 2012).</p> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8988">Foro CyM / Novedades</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-577559/ronda-nacional-de-cym-2012">Ronda Nacional de CyM 2012</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-209936#post-1601422</guid>
				<title>Re: Voy por buen camino?</title>
				<link>http://cym.wikidot.com/forum/t-209936/voy-por-buen-camino#post-1601422</link>
				<description></description>
				<pubDate>Mon, 29 Oct 2012 22:53:31 +0000</pubDate>
				<wikidot:authorName>Newtonis penguin</wikidot:authorName>				<wikidot:authorUserId>1469664</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>si. a mi me impacto mucho porque en las rondas anteriores usabamos otro entorno en bloodshead C/C++, y en mi casa el codeblocks C/C++, y no son entornos estilo DOS. En mi casa como tengo Linux para usar el RHIDE tengo que usar el emulador de DOS (DOSBOX). Es muy extraño el RHIDE porque usa combinaciones diferentes de teclas para copiar y pegar. Otra diferencia que note fue entre el compilador que usamos en la competencia y el que usamos en las rondas anteriores, el que usamos en mi escuela cuando ponias un FOR o un WHILE, algo (no se si era por el compilador o alguna otra cosa del windows que usabamos) administraba la memoria de la maquina y la misma no estaba desesperada por gastar todo el proscesador en el programa ejecutandose, sino que tenia cierto limite en la velocidad. En cambio con lo que usamos en CyM mientras ejecutabas un programa C/C++ y el programa habia entrado en un ciclo FOR o WHILE no podias hacer otra cosa con la computadora porque se trababa todo hasta que se terminaba de ejecutar, no podias ni mover la ventana e incluso se me colgo completamente la mquina virtual una vez y la tuve que resetear.</p> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-20539">Consultorio CyM / Nivel 3</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-209936/voy-por-buen-camino">Voy por buen camino?</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-65985#post-1601416</guid>
				<title>Re: ¿Qué contenidos hacen falta en el wiki?</title>
				<link>http://cym.wikidot.com/forum/t-65985/que-contenidos-hacen-falta-en-el-wiki#post-1601416</link>
				<description></description>
				<pubDate>Mon, 29 Oct 2012 22:40:18 +0000</pubDate>
				<wikidot:authorName>Newtonis penguin</wikidot:authorName>				<wikidot:authorUserId>1469664</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>mas usuarios en linea :D. hay que lograr que tenga mas trafico porque parece muy abandonado lamentablemente</p> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8990">Foro CyM / Tema libre (casi)</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-65985/que-contenidos-hacen-falta-en-el-wiki">¿Qué contenidos hacen falta en el wiki?</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-209936#post-1600333</guid>
				<title>Re: Voy por buen camino?</title>
				<link>http://cym.wikidot.com/forum/t-209936/voy-por-buen-camino#post-1600333</link>
				<description></description>
				<pubDate>Sun, 28 Oct 2012 22:41:45 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Sí, es muy viejo. En los primeros torneos usábamos el entorno del Borland C/C++ o Turbo C/C++, el Turbo Pascal, y el QuickBasic (QB). Luego los reemplazamos por el Rhide y el Freepascal, que tienen entornos casi idénticos a aquellos, pero son software libre.</p> <p>En cuanto podamos vamos a reemplazar todo por cosas más nuevas&#8230;</p> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-20539">Consultorio CyM / Nivel 3</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-209936/voy-por-buen-camino">Voy por buen camino?</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-578544#post-1600324</guid>
				<title>Re: 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#post-1600324</link>
				<description></description>
				<pubDate>Sun, 28 Oct 2012 22:34:03 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Es una primera aproximación. :-)</p> <p>Este código tiene varias cosas para mejorar. Además de que le vendrían bien unas explicaciones. Y mucho mejor, una demostración de que es correcto. :-D</p> <p>Para empezar a mejorarlo:</p> <ul> <li>sacá todos los includes que no son estrictamente necesarios</li> <li>el código hace trabajo de más: por ejemplo m no hace falta ¿se te ocurre cómo eliminarlo?</li> </ul> <p>¡Y mandalo de nuevo!</p> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-86180">Foro CyM / Tema libre (casi) - Abierto</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-578544/forma-de-descomponer-los-digitos-de-un-numero">Forma de descomponer los digitos de un numero</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-578544#post-1600115</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#post-1600115</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> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-86180">Foro CyM / Tema libre (casi) - Abierto</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-578544/forma-de-descomponer-los-digitos-de-un-numero">Forma de descomponer los digitos de un numero</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-209936#post-1600109</guid>
				<title>Re: Voy por buen camino?</title>
				<link>http://cym.wikidot.com/forum/t-209936/voy-por-buen-camino#post-1600109</link>
				<description></description>
				<pubDate>Sun, 28 Oct 2012 17:55:20 +0000</pubDate>
				<wikidot:authorName>Newtonis penguin</wikidot:authorName>				<wikidot:authorUserId>1469664</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Me paso a mi con el editor de CyM. El borland rhide es re viejo! jajajaj. es el mismo que usaban cuando fue el primer torneo de CyM?</p> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-20539">Consultorio CyM / Nivel 3</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-209936/voy-por-buen-camino">Voy por buen camino?</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-398311#post-1600105</guid>
				<title>Re: CyM 2011: opiniones</title>
				<link>http://cym.wikidot.com/forum/t-398311/cym-2011:opiniones#post-1600105</link>
				<description></description>
				<pubDate>Sun, 28 Oct 2012 17:52:31 +0000</pubDate>
				<wikidot:authorName>Newtonis penguin</wikidot:authorName>				<wikidot:authorUserId>1469664</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>jajaja yo acabo de ir a la de 2012 asi que de ultima te sirve igual jajaj.</p> <p>Esta muy bueno, y aunque no gane, estuve cerca y podria haber resuelto todos los ejercicios tranquilamente y bien.<br /> Igual ahora ya los resolvi todos los de 2012 y los subi al foro</p> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8990">Foro CyM / Tema libre (casi)</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-398311/cym-2011:opiniones">CyM 2011: opiniones</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-578504#post-1599997</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#post-1599997</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> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-20538">Consultorio CyM / Nivel 2</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-578504/mi-solucion-ejercicio-6-nacional-2012-nivel-2">Mi solucion Ejercicio 6 nacional 2012 nivel 2</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-578503#post-1599991</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#post-1599991</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> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-20538">Consultorio CyM / Nivel 2</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-578503/mi-solucion-ejercicio-5-nacional-2012-nivel-2">Mi solucion Ejercicio 5 nacional 2012 nivel 2</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-578498#post-1599939</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#post-1599939</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> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-20538">Consultorio CyM / Nivel 2</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-578498/mi-solucion-ejercicio-4-nacional-2012-nivel-2">Mi solucion Ejercicio 4 nacional 2012 nivel 2</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-578486#post-1599915</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#post-1599915</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<br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-20538">Consultorio CyM / Nivel 2</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-578486/mi-solucion-ejercicio-3-nacional-2012-nivel-2">Mi solucion Ejercicio 3 nacional 2012 nivel 2</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-578474#post-1599894</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#post-1599894</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<br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-20538">Consultorio CyM / Nivel 2</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-578474/mi-solucion-ejercicio-1-nacional-2012-nivel-2">Mi solucion Ejercicio 1 nacional 2012 nivel 2</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-578473#post-1599893</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#post-1599893</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><br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-20538">Consultorio CyM / Nivel 2</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-578473/mi-solucion-ejercicio-2-nacional-2012-nivel-2">Mi solucion Ejercicio 2 nacional 2012 nivel 2</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-577559#post-1598110</guid>
				<title>Agradecimientos</title>
				<link>http://cym.wikidot.com/forum/t-577559/ronda-nacional-de-cym-2012#post-1598110</link>
				<description></description>
				<pubDate>Fri, 26 Oct 2012 03:42:19 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Queremos agradecer, como siempre y primero que nada, a los profesores y acompañantes, por todo el apoyo que dan a los participantes.</p> <p>Este año los jurados invitados a la Ronda Nacional fueron Iván Sadofschi Costa, Lucas Tavolaro Ortiz y Ariel Zylber. ¡Gracias por venir! Por parte del Jurado Nacional estuvimos Eduardo Honoré, Ismael Bejarano, Gustavo Massaccesi y Pablo Haramburu.</p> <p>Como en otros años, apreciamos mucho la colaboración y aceitada organización de la <a href="http://www.vaneduc.edu.ar/uai/">Universidad Abierta Interamericana</a>, que nos facilitó instalaciones para realizar todas las actividades de la Ronda Nacional.</p> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8988">Foro CyM / Novedades</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-577559/ronda-nacional-de-cym-2012">Ronda Nacional de CyM 2012</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-577559#post-1597798</guid>
				<title>Ronda Nacional de CyM 2012</title>
				<link>http://cym.wikidot.com/forum/t-577559/ronda-nacional-de-cym-2012#post-1597798</link>
				<description></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> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8988">Foro CyM / Novedades</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-577559/ronda-nacional-de-cym-2012">Ronda Nacional de CyM 2012</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-398311#post-1274479</guid>
				<title>CyM 2011: opiniones</title>
				<link>http://cym.wikidot.com/forum/t-398311/cym-2011:opiniones#post-1274479</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> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8990">Foro CyM / Tema libre (casi)</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-398311/cym-2011:opiniones">CyM 2011: opiniones</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-394452#post-1274466</guid>
				<title>Re: Ronda Nacional de CyM 2011</title>
				<link>http://cym.wikidot.com/forum/t-394452/ronda-nacional-de-cym-2011#post-1274466</link>
				<description></description>
				<pubDate>Wed, 05 Oct 2011 19:42:47 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Terminó la Ronda Nacional de CyM 2011, y con ella el 14to Torneo. ¿Qué tal estuvo?</p> <p>Ya largamos con CyM 2012. :-)</p> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8988">Foro CyM / Novedades</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-394452/ronda-nacional-de-cym-2011">Ronda Nacional de CyM 2011</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-394452#post-1271978</guid>
				<title>Re: Ronda Nacional de CyM 2011</title>
				<link>http://cym.wikidot.com/forum/t-394452/ronda-nacional-de-cym-2011#post-1271978</link>
				<description></description>
				<pubDate>Sun, 02 Oct 2011 19:28:53 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>¡La Nacional empieza mañana! ¿Están listas/os? :-)</p> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8988">Foro CyM / Novedades</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-394452/ronda-nacional-de-cym-2011">Ronda Nacional de CyM 2011</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-394452#post-1266350</guid>
				<title>Ronda Nacional de CyM 2011</title>
				<link>http://cym.wikidot.com/forum/t-394452/ronda-nacional-de-cym-2011#post-1266350</link>
				<description></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> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8988">Foro CyM / Novedades</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-394452/ronda-nacional-de-cym-2011">Ronda Nacional de CyM 2011</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-387394#post-1248438</guid>
				<title>Semana de la Computación 2011</title>
				<link>http://cym.wikidot.com/forum/t-387394/semana-de-la-computacion-2011#post-1248438</link>
				<description></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> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8990">Foro CyM / Tema libre (casi)</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-387394/semana-de-la-computacion-2011">Semana de la Computación 2011</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-380781#post-1222444</guid>
				<title>Ronda Intercolegial de CyM 2011</title>
				<link>http://cym.wikidot.com/forum/t-380781/ronda-intercolegial-de-cym-2011#post-1222444</link>
				<description></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> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8988">Foro CyM / Novedades</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-380781/ronda-intercolegial-de-cym-2011">Ronda Intercolegial de CyM 2011</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-280317#post-1020605</guid>
				<title>Enunciados 2010</title>
				<link>http://cym.wikidot.com/forum/t-280317/ronda-nacional-de-cym-2010#post-1020605</link>
				<description></description>
				<pubDate>Wed, 02 Mar 2011 15:59:57 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Pueden consultar en la <a href="http://www.oma.org.ar/nacional/cym/">página de CyM</a> los enunciados de las rondas <a href="http://www.oma.org.ar/enunciados/cym10r2.htm">Zonal</a> y <a href="http://www.oma.org.ar/enunciados/cym10r3.htm">Nacional</a> del 13er Torneo de Computación y Matemática (CyM 2010). (La ronda Intercolagial se canceló en 2010, y la ronda Colegial se arma en cada sede.)</p> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8988">Foro CyM / Novedades</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-280317/ronda-nacional-de-cym-2010">Ronda Nacional de CyM 2010</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-280317#post-942412</guid>
				<title>Campeones 2010</title>
				<link>http://cym.wikidot.com/forum/t-280317/ronda-nacional-de-cym-2010#post-942412</link>
				<description></description>
				<pubDate>Sat, 04 Dec 2010 21:31:50 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Pueden consultar en la <a href="http://www.oma.org.ar/nacional/cym/">página de CyM</a> los <a href="http://www.oma.org.ar/nacional/cym/cym10r3a.htm">campeones y menciones</a> del 13er Torneo de Computación y Matemática (CyM 2010).</p> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8988">Foro CyM / Novedades</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-280317/ronda-nacional-de-cym-2010">Ronda Nacional de CyM 2010</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-280317#post-931218</guid>
				<title>Final y seguimos</title>
				<link>http://cym.wikidot.com/forum/t-280317/ronda-nacional-de-cym-2010#post-931218</link>
				<description></description>
				<pubDate>Sun, 21 Nov 2010 22:10:30 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>CyM 2010, el decimotercer Torneo, terminó el miércoles pasado. 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. Gracias como siempre a los profesores y acompañantes, por todo el apoyo que dan a los participantes.</p> <p>Este año los jurados invitados a la Ronda Nacional fueron Alejandro David Weil y Alejandro Deymonnaz. ¡Gracias por venir! Por parte del Jurado Nacional estuvimos Eduardo Honoré, Ismael Bejarano, Gustavo Massaccesi y Pablo Haramburu.</p> <p>Como en otros años, apreciamos mucho la colaboración de la <a href="http://www.vaneduc.edu.ar/uai/">Universidad Abierta Interamericana</a>, que nos facilitó instalaciones para realizar todas las actividades de la Ronda Nacional.</p> <p>Ojalá que hayan disfrutado los problemas que armamos este año, y también las discusiones de problemas, las charlas y actividades. Los invito a seguir en contacto entre ustedes. Pueden usar este foro para ello, por supuesto.</p> <p>¡CyM 2011 ya empezó!</p> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8988">Foro CyM / Novedades</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-280317/ronda-nacional-de-cym-2010">Ronda Nacional de CyM 2010</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-280317#post-911647</guid>
				<title>Ronda Nacional de CyM 2010</title>
				<link>http://cym.wikidot.com/forum/t-280317/ronda-nacional-de-cym-2010#post-911647</link>
				<description></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> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8988">Foro CyM / Novedades</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-280317/ronda-nacional-de-cym-2010">Ronda Nacional de CyM 2010</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-272646#post-911644</guid>
				<title>Resultados Ronda Zonal de CyM 2010</title>
				<link>http://cym.wikidot.com/forum/t-272646/ronda-zonal-de-cym-2010#post-911644</link>
				<description></description>
				<pubDate>Sat, 30 Oct 2010 22:41:39 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Ya están disponibles los resultados de la Ronda Zonal de CyM 2010. Pueden obtenerlos por sus canales habituales. La lista de <a href="http://www.oma.org.ar/nacional/cym/cym10r2a.htm">participantes aprobados</a> está disponible en la <a href="http://www.oma.org.ar/nacional/cym/">página de CyM</a>.</p> <p>¡Los esperamos a todos en la Nacional!</p> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8988">Foro CyM / Novedades</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-272646/ronda-zonal-de-cym-2010">Ronda Zonal de CyM 2010</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-272646#post-890099</guid>
				<title>Ronda Zonal de CyM 2010</title>
				<link>http://cym.wikidot.com/forum/t-272646/ronda-zonal-de-cym-2010#post-890099</link>
				<description></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> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8988">Foro CyM / Novedades</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-272646/ronda-zonal-de-cym-2010">Ronda Zonal de CyM 2010</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-249158#post-890093</guid>
				<title>Re: Ronda Intercolegial de CyM 2010</title>
				<link>http://cym.wikidot.com/forum/t-249158/ronda-intercolegial-de-cym-2010#post-890093</link>
				<description></description>
				<pubDate>Wed, 06 Oct 2010 15:41:57 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Después de varias postergaciones, la Ronda Intercolegial de CyM 2010 fue <strong>cancelada</strong>. Todos los clasificados de la Ronda Colegial deben rendir directamente la <strong>Ronda Zonal</strong> que es <strong>este viernes</strong> 8 de octubre de 2010. La <a href="http://www.oma.org.ar/nacional/cym/Memo_cym_10.pdf">información oficial (pdf)</a> está en la página de OMA.</p> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8988">Foro CyM / Novedades</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-249158/ronda-intercolegial-de-cym-2010">Ronda Intercolegial de CyM 2010</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-249158#post-814907</guid>
				<title>Re: Ronda Intercolegial de CyM 2010</title>
				<link>http://cym.wikidot.com/forum/t-249158/ronda-intercolegial-de-cym-2010#post-814907</link>
				<description></description>
				<pubDate>Wed, 23 Jun 2010 17:46:40 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Novedad: <strong>cambió la fecha</strong> de la Ronda Intercolegial. La nueva fecha es <strong>viernes 20 de agosto</strong>. Vean la <a href="http://www.oma.org.ar/nacional/cym/">página web de CyM</a>.</p> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8988">Foro CyM / Novedades</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-249158/ronda-intercolegial-de-cym-2010">Ronda Intercolegial de CyM 2010</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-249158#post-813162</guid>
				<title>Ronda Intercolegial de CyM 2010</title>
				<link>http://cym.wikidot.com/forum/t-249158/ronda-intercolegial-de-cym-2010#post-813162</link>
				<description></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> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8988">Foro CyM / Novedades</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-249158/ronda-intercolegial-de-cym-2010">Ronda Intercolegial de CyM 2010</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-244801#post-797525</guid>
				<title>Problema 3, Ronda Intercolegial 2009</title>
				<link>http://cym.wikidot.com/forum/t-244801/problema-3-ronda-intercolegial-2009#post-797525</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> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-20539">Consultorio CyM / Nivel 3</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-244801/problema-3-ronda-intercolegial-2009">Problema 3, Ronda Intercolegial 2009</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-244354#post-797122</guid>
				<title>Re: Problema semanal, combinaciones</title>
				<link>http://cym.wikidot.com/forum/t-244354/problema-semanal-combinaciones#post-797122</link>
				<description></description>
				<pubDate>Mon, 31 May 2010 00:11:00 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Algunos comentarios:<br /> - Efectivamente, hay que tener cuidado porque algunos números se pueden formar de varias formas, por ejemplo <span class="math-inline">$5 \cdot 91 = 455$</span>, etc.<br /> - No es necesario usar números grandes (GMP, python), ya que podemos representar cualquier número mediante los exponentes de los primos que lo forman. En este problema hay pocos primos involucrados. Si los primos son 2, 5, 7, 11, 13 y 3989, en ese orden, entonces <span class="math-inline">$1 = (0,0,0,0,0,0)$</span>, <span class="math-inline">$22 = (1,0,0,1,0,0)$</span>, <span class="math-inline">$455 = (0,1,1,0,1,0)$</span>, <span class="math-inline">$2002 = (1,0,1,1,1,0)$</span>, etc. Y entonces <span class="math-inline">$2002 \cdot 455 = (1,1,2,1,2,0)$</span>, etc. Al final resulta que los primos en sí no son importantes, solamente cómo se &#8220;combinan&#8221; para formar los números disponibles.<br /> - Saber &#8220;bitwise&#8221; es útil, pero no es la única forma de generar &#8220;todos los subconjuntos&#8221;. Aunque suele ser práctica, y lo que digo a continuación es equivalente. En este caso, por ejemplo, podemos lleva una lista (array) de los números generados hasta el momento. Inicializo en un único elemento, el 1. En cada paso, agrego el resultado de multiplicar cada elemento de la lista del paso anterior por el i-ésimo número (en este caso, revisando que no sea repetido).<br /> - No te preocupes mucho si te sale en python pero no en C. Ya te va a salir. Lo importante es que sepas programar, y que se te ocurran las ideas necesarias. Es cierto que a veces el lenguaje ayuda mucho y el problema queda simplificado&#8230; :-)</p> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-20539">Consultorio CyM / Nivel 3</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-244354/problema-semanal-combinaciones">Problema semanal, combinaciones</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-241735#post-797082</guid>
				<title>Arrays dinámicos</title>
				<link>http://cym.wikidot.com/forum/t-241735/criba-de-eratostenes#post-797082</link>
				<description></description>
				<pubDate>Sun, 30 May 2010 23:25:36 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Los arrays, en C anterior al C99, y en C++, se definen así:</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-types">int</span><span class="hl-code"> </span><span class="hl-identifier">nombre</span><span class="hl-brackets">[</span><span class="hl-identifier">tam</span><span class="hl-brackets">]</span><span class="hl-code">;</span></pre></div> </div> <br /> donde <tt>int</tt> es el tipo (puede ser casi cualquier tipo), <tt>nombre</tt> es la variable, y <tt>tam</tt> es la cantidad de elementos, y <tt>tam</tt> debe ser una (expresión) <em>constante</em> entera. Constante definida al momento de compilar el programa. Por ejemplo cosas como: <div class="code"> <div class="hl-main"> <pre><span class="hl-number">3</span><span class="hl-code"> </span><span class="hl-number">3</span><span class="hl-code">+</span><span class="hl-number">7</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">tam</span><span class="hl-code"> = </span><span class="hl-number">3</span><span class="hl-code">; </span><span class="hl-identifier">tam</span><span class="hl-code">+</span><span class="hl-number">1</span><span class="hl-code"> </span><span class="hl-prepro">#define</span><span class="hl-code"> </span><span class="hl-identifier">tam</span><span class="hl-code"> </span><span class="hl-number">7</span></pre></div> </div> <p>Si el tamaño es una variable (lo que llamo &#8220;array dinámico&#8221;), en C anterior a C99 y en C++ salta un error de compilación. En gcc creo que hay una extensión que permite hacerlo, y en C99 creo que se puede. Yo personalmente recomiendo usar C++ y <tt>std::vector&lt;int&gt;</tt>.</p> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-86180">Foro CyM / Tema libre (casi) - Abierto</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-241735/criba-de-eratostenes">Criba de Eratóstenes</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-244354#post-796352</guid>
				<title>Re: Problema semanal, combinaciones</title>
				<link>http://cym.wikidot.com/forum/t-244354/problema-semanal-combinaciones#post-796352</link>
				<description></description>
				<pubDate>Sat, 29 May 2010 20:34:30 +0000</pubDate>
				<wikidot:authorName>caeruleus</wikidot:authorName>				<wikidot:authorUserId>483269</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Ah claro tenés razón elopez, igual me siento re incompetente al no poder hacerlo en C xD.</p> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-20539">Consultorio CyM / Nivel 3</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-244354/problema-semanal-combinaciones">Problema semanal, combinaciones</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-244354#post-796344</guid>
				<title>Re: Problema semanal, combinaciones</title>
				<link>http://cym.wikidot.com/forum/t-244354/problema-semanal-combinaciones#post-796344</link>
				<description></description>
				<pubDate>Sat, 29 May 2010 20:28:14 +0000</pubDate>
				<wikidot:authorName>elopez93</wikidot:authorName>				<wikidot:authorUserId>425457</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Me corrijo yo mismo, mi programa tenía una falla en la parte final, donde si el número estaba repetido, no lo contaba; en este caso habría que contarlo sólo una vez. Este problema también lo tiene tu solución, caerlueus.</p> <p>El código 'arreglado' acá:</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-comment">#lista = (5, 22, 91, 455, 2002, 19945, 87758, 438790, 48266900)</span><span class="hl-code"> </span><span class="hl-comment">#5 = 5 5</span><span class="hl-code"> </span><span class="hl-comment">#22 = 2 * 11 2 11</span><span class="hl-code"> </span><span class="hl-comment">#91 = 7 * 13 7 13</span><span class="hl-code"> </span><span class="hl-comment">#455 = 5 * 7 * 13 5 7 13</span><span class="hl-code"> </span><span class="hl-comment">#2002 = 2 * 7 * 11 * 13 2 7 11 13</span><span class="hl-code"> </span><span class="hl-comment">#19945 = 5 * 3989 5 3989</span><span class="hl-code"> </span><span class="hl-comment">#87758 = 2 * 11 * 3989 2 11 3989</span><span class="hl-code"> </span><span class="hl-comment">#438790 = 2 * 5 * 11 * 3989 2 5 11 3989</span><span class="hl-code"> </span><span class="hl-comment">#48266900 = 2^2 * 5^2 * 11^2 * 3989 2 5 11 3989 (los primeros 3, ^2)</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-brackets">]</span><span class="hl-code">,</span><span class="hl-brackets">[</span><span class="hl-number">2</span><span class="hl-code">,</span><span class="hl-number">11</span><span class="hl-brackets">]</span><span class="hl-code">,</span><span class="hl-brackets">[</span><span class="hl-number">7</span><span class="hl-code">,</span><span class="hl-number">13</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">7</span><span class="hl-code">,</span><span class="hl-number">13</span><span class="hl-brackets">]</span><span class="hl-code">,</span><span class="hl-brackets">[</span><span class="hl-number">2</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-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">3989</span><span class="hl-brackets">]</span><span class="hl-code">,</span><span class="hl-brackets">[</span><span class="hl-number">2</span><span class="hl-code">,</span><span class="hl-number">11</span><span class="hl-code">,</span><span class="hl-number">3989</span><span class="hl-brackets">]</span><span class="hl-code">,</span><span class="hl-brackets">[</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">11</span><span class="hl-code">,</span><span class="hl-number">3989</span><span class="hl-brackets">]</span><span class="hl-code">,</span><span class="hl-brackets">[</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-number">5</span><span class="hl-code">,</span><span class="hl-number">5</span><span class="hl-code">,</span><span class="hl-number">11</span><span class="hl-code">,</span><span class="hl-number">11</span><span class="hl-code">,</span><span class="hl-number">3989</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">num</span><span class="hl-code"> = </span><span class="hl-brackets">[]</span><span class="hl-code"> </span><span class="hl-identifier">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</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">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</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-identifier">num</span><span class="hl-code">.</span><span class="hl-identifier">sort</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">num</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">num</span><span class="hl-code"> = </span><span class="hl-brackets">[]</span><span class="hl-code"> </span><span class="hl-identifier">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</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">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</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">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</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-identifier">num</span><span class="hl-code">.</span><span class="hl-identifier">sort</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">num</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">num</span><span class="hl-code"> = </span><span class="hl-brackets">[]</span><span class="hl-code"> </span><span class="hl-identifier">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</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">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</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">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</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">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</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-identifier">num</span><span class="hl-code">.</span><span class="hl-identifier">sort</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">num</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">num</span><span class="hl-code"> = </span><span class="hl-brackets">[]</span><span class="hl-code"> </span><span class="hl-identifier">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</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">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</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">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</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">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</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">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</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">num</span><span class="hl-code">.</span><span class="hl-identifier">sort</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">num</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-comment">#seis 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-reserved">for</span><span class="hl-code"> </span><span class="hl-identifier">r</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">q</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">num</span><span class="hl-code"> = </span><span class="hl-brackets">[]</span><span class="hl-code"> </span><span class="hl-identifier">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</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">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</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">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</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">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</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">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</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">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</span><span class="hl-identifier">lista</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">num</span><span class="hl-code">.</span><span class="hl-identifier">sort</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">num</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-comment">#siete 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-reserved">for</span><span class="hl-code"> </span><span class="hl-identifier">r</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">q</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">s</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">r</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">num</span><span class="hl-code"> = </span><span class="hl-brackets">[]</span><span class="hl-code"> </span><span class="hl-identifier">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</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">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</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">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</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">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</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">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</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">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</span><span class="hl-identifier">lista</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">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</span><span class="hl-identifier">lista</span><span class="hl-brackets">[</span><span class="hl-identifier">s</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-identifier">num</span><span class="hl-code">.</span><span class="hl-identifier">sort</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">num</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-comment">#ocho 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-reserved">for</span><span class="hl-code"> </span><span class="hl-identifier">r</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">q</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">s</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">r</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">t</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">s</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">num</span><span class="hl-code"> = </span><span class="hl-brackets">[]</span><span class="hl-code"> </span><span class="hl-identifier">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</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">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</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">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</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">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</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">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</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">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</span><span class="hl-identifier">lista</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">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</span><span class="hl-identifier">lista</span><span class="hl-brackets">[</span><span class="hl-identifier">s</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-identifier">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</span><span class="hl-identifier">lista</span><span class="hl-brackets">[</span><span class="hl-identifier">t</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-identifier">num</span><span class="hl-code">.</span><span class="hl-identifier">sort</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">num</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-comment">#nueve numeros</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-identifier">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</span><span class="hl-identifier">lista</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">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</span><span class="hl-identifier">lista</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">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</span><span class="hl-identifier">lista</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">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</span><span class="hl-identifier">lista</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-identifier">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</span><span class="hl-identifier">lista</span><span class="hl-brackets">[</span><span class="hl-number">4</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-identifier">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</span><span class="hl-identifier">lista</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-identifier">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</span><span class="hl-identifier">lista</span><span class="hl-brackets">[</span><span class="hl-number">6</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-identifier">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</span><span class="hl-identifier">lista</span><span class="hl-brackets">[</span><span class="hl-number">7</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-identifier">num</span><span class="hl-code">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</span><span class="hl-identifier">lista</span><span class="hl-brackets">[</span><span class="hl-number">8</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-identifier">num</span><span class="hl-code">.</span><span class="hl-identifier">sort</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">num</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-comment">#lista1.sort()</span><span class="hl-code"> </span><span class="hl-identifier">lista2</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-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-identifier">lista2</span><span class="hl-code">.</span><span class="hl-identifier">append</span><span class="hl-brackets">(</span><span class="hl-builtin">str</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-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">set</span><span class="hl-brackets">(</span><span class="hl-identifier">lista2</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-identifier">contador</span><span class="hl-code"> + </span><span class="hl-number">1</span><span class="hl-code"> </span><span class="hl-identifier">num</span><span class="hl-code"> = </span><span class="hl-number">1</span><span class="hl-code"> </span><span class="hl-comment">#for a in eval(z):</span><span class="hl-code"> </span><span class="hl-comment"># num = num * a</span><span class="hl-code"> </span><span class="hl-comment">#print num</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> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-20539">Consultorio CyM / Nivel 3</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-244354/problema-semanal-combinaciones">Problema semanal, combinaciones</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-244354#post-796335</guid>
				<title>Re: Problema semanal, combinaciones</title>
				<link>http://cym.wikidot.com/forum/t-244354/problema-semanal-combinaciones#post-796335</link>
				<description></description>
				<pubDate>Sat, 29 May 2010 20:12:42 +0000</pubDate>
				<wikidot:authorName>elopez93</wikidot:authorName>				<wikidot:authorUserId>425457</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Hola!</p> <p>Hice la solución en python completa y me da algo distinto que corriendo el programa en C, tenés idea cual es la solución correcta? Para mi solución uso los números factorizados, en vez de multiplicar los números, y después me fijo si las listas son iguales para comparar. Dejo mi solución en python.</p> <p>Con esta solución, me da que son 119 posibilidades, y con el programa de C, 237.</p> <p>(el código que estaba acá estaba mal, miren en el post de abajo)</p> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-20539">Consultorio CyM / Nivel 3</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-244354/problema-semanal-combinaciones">Problema semanal, combinaciones</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-244354#post-795900</guid>
				<title>Problema semanal, combinaciones</title>
				<link>http://cym.wikidot.com/forum/t-244354/problema-semanal-combinaciones#post-795900</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> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-20539">Consultorio CyM / Nivel 3</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-244354/problema-semanal-combinaciones">Problema semanal, combinaciones</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-241735#post-795214</guid>
				<title>Re: Criba de Eratóstenes</title>
				<link>http://cym.wikidot.com/forum/t-241735/criba-de-eratostenes#post-795214</link>
				<description></description>
				<pubDate>Fri, 28 May 2010 01:27:31 +0000</pubDate>
				<wikidot:authorName>caeruleus</wikidot:authorName>				<wikidot:authorUserId>483269</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Ahora lo entendí un poco mejor,muchas gracias, mañana me pondré a analizar todo con mayor detenimiento.</p> <p>Algo que sí no me quedó claro ahora, es sobre lo de arrays dinámicos (?), no entiendo a qué te referís.<br /> Uso gcc porque en mi casa tengo GNU/Linux, en el colegio no más practico con DJGPP. Estaría bueno si me pudieras decir algunas cosas q deba tener en cuenta al ir de uno a otro.</p> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-86180">Foro CyM / Tema libre (casi) - Abierto</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-241735/criba-de-eratostenes">Criba de Eratóstenes</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-220168#post-795170</guid>
				<title>Re: Trabajar con digitos en QB</title>
				<link>http://cym.wikidot.com/forum/t-220168/trabajar-con-digitos-en-qb#post-795170</link>
				<description></description>
				<pubDate>Fri, 28 May 2010 00:20:50 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Bueno, vayamos por partes.</p> <p>Para separar en &#8220;el número que se obtiene de quitar la última cifra&#8221; y &#8220;la última cifra&#8221; usás las cuentas:</p> <div class="code"> <pre><code>unidades = n mod 10 resto = (n/10)-((n mod 10)/10)</code></pre></div> <br /> Pero fijate que dividís dos veces por 10. Factoricemos: <tt>resto = (n - (n mod 10))/10</tt>. Que tiene sentido, porque <tt>n - (n mod 10)</tt> es múltiplo de 10. Pero entonces ¡no hace falta usar decimales! La forma de no trabajar con decimales, en BASIC (QB), es usar <tt>\</tt> en lugar de <tt>/</tt><sup class="footnoteref"><a id="footnoteref-519036-1" href="javascript:;" class="footnoteref" >1</a></sup>. Bueno, pero entonces si usamos <tt>\</tt> ya no hace falta restar la cifra de las unidades, porque <tt>\</tt> la descarta de todas maneras: <div class="code"> <pre><code>unidades = n mod 10 resto = n \ 10</code></pre></div> <p>Ahora pasemos al ciclo que calcula todas las cifras.</p> <p>Una posibilidad es irlas guardando en algún array. Y tomar nota de cuántas cifras son, claro.</p> <p>Otra posibilidad es usar las cifras a medida que las vamos calculando. Esto suele ser lo más simple. En cualquier caso, tenemos que pensar en la condición de parada del ciclo. Si el número tiene 1 cifra, la cuenta <tt>n = n \ 10</tt> hace que <tt>n</tt> quede en 0. Ya le sacamos todas las cifras. Ahí paramos. (El único que nos causa problemas es el 0, y habrá que pensar bien ese caso. Y los negativos.)</p> <div class="code"> <pre><code>Do While n &gt; 0 cifra = n mod 10 n = n \ 10 'hacer algo con cifra Loop</code></pre></div> <p>Por ejemplo la suma de las cifras de <tt>n</tt> se puede hacer así:</p> <div class="code"> <pre><code>suma = 0 Do While n &gt; 0 cifra = n mod 10 n = n \ 10 suma = suma + cifra Loop print suma</code></pre></div> <p>¿Se te aclaran todas las dudas o me faltó responder algo?</p> <div class="footnotes-footer"> <div class="title">Footnotes</div> <div class="footnote-footer" id="footnote-519036-1"><a href="javascript:;" >1</a>. En Pascal se usa <tt>div</tt>, y en C/C++ si los operandos son enteros la division trunca. Ojo con los negativos.</div> </div> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-86180">Foro CyM / Tema libre (casi) - Abierto</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-220168/trabajar-con-digitos-en-qb">Trabajar con digitos en QB</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-241735#post-795150</guid>
				<title>Re: Criba de Eratóstenes</title>
				<link>http://cym.wikidot.com/forum/t-241735/criba-de-eratostenes#post-795150</link>
				<description></description>
				<pubDate>Thu, 27 May 2010 23:54:55 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Ahora comento tu código (debajo). Siempre es mejor incluirlo en el post: es más cómodo, y no dependemos de otro sitio.</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-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-identifier">i</span><span class="hl-code">, </span><span class="hl-identifier">x</span><span class="hl-code">, </span><span class="hl-identifier">j</span><span class="hl-code">, </span><span class="hl-identifier">max</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">Ingresar el maximo: </span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">scanf</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">%d</span><span class="hl-quotes">&quot;</span><span class="hl-code">,&amp;</span><span class="hl-identifier">max</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-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-types">int</span><span class="hl-code"> </span><span class="hl-identifier">lista</span><span class="hl-brackets">[</span><span class="hl-identifier">max</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">0</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code"> &lt;= </span><span class="hl-identifier">max</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">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">i</span><span class="hl-code"> + </span><span class="hl-number">2</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">0</span><span class="hl-code">; </span><span class="hl-identifier">n</span><span class="hl-code"> &lt;= </span><span class="hl-identifier">max</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-identifier">n</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-identifier">max</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-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">lista</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-number">0</span><span class="hl-code"> &amp;&amp; </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-number">0</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">lista</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">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-number">0</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">x</span><span class="hl-brackets">]</span><span class="hl-code"> = </span><span class="hl-number">0</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-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-identifier">max</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-reserved">if</span><span class="hl-code"> </span><span class="hl-brackets">(</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-number">0</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">%d </span><span class="hl-quotes">&quot;</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-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-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></pre></div> </div> <p>Algunas cosas para comentar:</p> <ul> <li>Tu código usa arrays dinámicos en C. Eso es, o bien una extensión de gcc, o bien parte de C99. Y es probable que no esté disponible durante la competencia, así que ojo con eso. Alternativas: usar arrays de tamaño constante, o usar std::vector&lt;int&gt; en C++.</li> <li>Como puse más arriba, las posiciones válidas del array <tt>lista</tt> son 0, &#8230;, max-1. Por lo tanto estás accediendo fuera de rango, es un error.</li> <li>Fijate que <tt>lista[n]</tt> no cambia dentro del ciclo para <tt>x</tt>. Por lo tanto la parte del <tt>if</tt> que revisa <tt>lista[n]</tt> se puede mover fuera del ciclo:</li> </ul> <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-identifier">n</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-identifier">n</span><span class="hl-code"> &lt; </span><span class="hl-identifier">max</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">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-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-identifier">x</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">x</span><span class="hl-code"> &lt; </span><span class="hl-identifier">max</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-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">lista</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-number">0</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">lista</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">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-number">0</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">x</span><span class="hl-brackets">]</span><span class="hl-code"> = </span><span class="hl-number">0</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> <ul> <li>Por último, pero quizás lo más importante, tu ciclo para <tt>x</tt> revisa todos los números mayores a n. La clave de la criba es, justamente, no hacer eso. La idea es tachar solamente los múltiplos de <tt>n</tt>, por ejemplo ir sumando <tt>n</tt>:</li> </ul> <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-identifier">x</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">; </span><span class="hl-identifier">x</span><span class="hl-code"> &lt; </span><span class="hl-identifier">max</span><span class="hl-code">; </span><span class="hl-identifier">x</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-identifier">lista</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-number">0</span><span class="hl-code">;</span></pre></div> </div> <ul> <li>Aplicando todos esos cambios te queda, me parece, la primer versión que mandé. Luego aplicando las dos mejoras queda la segunda versión que mandé.</li> </ul> <p>Cualquier duda, posteá! :-)</p> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-86180">Foro CyM / Tema libre (casi) - Abierto</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-241735/criba-de-eratostenes">Criba de Eratóstenes</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-241735#post-795139</guid>
				<title>Re: Criba de Eratóstenes</title>
				<link>http://cym.wikidot.com/forum/t-241735/criba-de-eratostenes#post-795139</link>
				<description></description>
				<pubDate>Thu, 27 May 2010 23:37:37 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>A continuación va la versión en C++ de la &#8220;version rápida&#8221; de <a href="http://oma.org.ar/omanet/cym98/cribaeratostenes.htm">la lección Omanet sobre criba de Eratóstenes</a>, que está en QB. Con las mismas modificaciones de &#8220;traducción&#8221; que arriba. Los cambios para acelerar son:</p> <ul> <li>No hace falta tachar los múltiplos de <tt>p</tt> menores a <tt>p*p</tt> (<tt>2*p</tt>, <tt>3*p</tt>, &#8230;, <tt>(p-1)*p</tt>) porque seguro ya están tachados.</li> <li>Así que si <tt>p*p &lt;= NMAX-1</tt> tengo algo para tachar, en caso contrario nada hay que tachar. Así que partimos en dos casos. (La línea <tt>const int corte = static_cast&lt;int&gt;(floor(sqrt(static_cast&lt;double&gt;(NMAX-1))));</tt> calcula la parte entera de la raíz cuadrada de <tt>NMAX-1</tt>).</li> </ul> <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">cmath</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-types">void</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">//Buscamos los primos hasta el 999</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">NMAX</span><span class="hl-code"> = </span><span class="hl-number">1000</span><span class="hl-code">; </span><span class="hl-comment">//Armamos la &quot;lista&quot;</span><span class="hl-code"> </span><span class="hl-types">bool</span><span class="hl-code"> </span><span class="hl-identifier">tachado</span><span class="hl-brackets">[</span><span class="hl-identifier">NMAX</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-identifier">NMAX</span><span class="hl-code">; ++</span><span class="hl-identifier">i</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-identifier">tachado</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">false</span><span class="hl-code">; </span><span class="hl-comment">//empezamos con todos sin tachar</span><span class="hl-code"> </span><span class="hl-identifier">tachado</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-reserved">true</span><span class="hl-code">; </span><span class="hl-comment">//0 no es primo, lo tacho</span><span class="hl-code"> </span><span class="hl-identifier">tachado</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-reserved">true</span><span class="hl-code">; </span><span class="hl-comment">//1 no es primo, lo tacho</span><span class="hl-code"> </span><span class="hl-comment">//Busco los primos chicos</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">corte</span><span class="hl-code"> = </span><span class="hl-reserved">static_cast</span><span class="hl-code">&lt;</span><span class="hl-types">int</span><span class="hl-code">&gt;</span><span class="hl-brackets">(</span><span class="hl-identifier">floor</span><span class="hl-brackets">(</span><span class="hl-identifier">sqrt</span><span class="hl-brackets">(</span><span class="hl-reserved">static_cast</span><span class="hl-code">&lt;</span><span class="hl-types">double</span><span class="hl-code">&gt;</span><span class="hl-brackets">(</span><span class="hl-identifier">NMAX</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">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">2</span><span class="hl-code">; </span><span class="hl-identifier">p</span><span class="hl-code"> &lt;= </span><span class="hl-identifier">corte</span><span class="hl-code">; ++</span><span class="hl-identifier">p</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">tachado</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-brackets">{</span><span class="hl-code"> </span><span class="hl-comment">//p no esta tachado, asi que es primo</span><span class="hl-code"> </span><span class="hl-identifier">std</span><span class="hl-code">::</span><span class="hl-identifier">cout</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">p</span><span class="hl-code"> &lt;&lt; ' '; </span><span class="hl-comment">//tachamos todos los múltiplos que estén en la &quot;lista&quot; o tabla</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-identifier">p</span><span class="hl-code">*</span><span class="hl-identifier">p</span><span class="hl-code">; </span><span class="hl-identifier">j</span><span class="hl-code"> &lt; </span><span class="hl-identifier">NMAX</span><span class="hl-code">; </span><span class="hl-identifier">j</span><span class="hl-code"> += </span><span class="hl-identifier">p</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-identifier">tachado</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-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-comment">//Busco los primos grandes</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-identifier">corte</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"> &lt; </span><span class="hl-identifier">NMAX</span><span class="hl-code">; ++</span><span class="hl-identifier">p</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">tachado</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-brackets">{</span><span class="hl-code"> </span><span class="hl-comment">//p no esta tachado, asi que es primo</span><span class="hl-code"> </span><span class="hl-identifier">std</span><span class="hl-code">::</span><span class="hl-identifier">cout</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">p</span><span class="hl-code"> &lt;&lt; ' '; </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">std</span><span class="hl-code">::</span><span class="hl-identifier">cout</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">std</span><span class="hl-code">::</span><span class="hl-identifier">endl</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> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-86180">Foro CyM / Tema libre (casi) - Abierto</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-241735/criba-de-eratostenes">Criba de Eratóstenes</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-241735#post-795126</guid>
				<title>Re: Criba de Eratóstenes</title>
				<link>http://cym.wikidot.com/forum/t-241735/criba-de-eratostenes#post-795126</link>
				<description></description>
				<pubDate>Thu, 27 May 2010 23:21:50 +0000</pubDate>
				<wikidot:authorName>pabloh</wikidot:authorName>				<wikidot:authorUserId>20418</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Bueno, para empezar, acá mando una versión en C++ equivalente a la &quot;versión dibujada&quot; (la simple, sin mejoras), de <a href="http://oma.org.ar/omanet/cym98/cribaeratostenes.htm">la lección Omanet sobre criba de Eratóstenes</a>, que está en QB. Con algunos cambios mínimos:</p> <ul> <li>Los arrays en C y C++ empiezan en 0, y las posiciones válidas de un array &#8220;<tt>int tabla[20];</tt>&#8221; son <tt>tabla[0]</tt>, <tt>tabla[1]</tt>, &#8230;, <tt>tabla[19]</tt>.</li> <li>En lugar de <tt>lista</tt> llamo <tt>tachado</tt> a la tabla donde vamos tachando, y en lugar de tener los valores 0&#160;o 1, tiene <tt>true</tt> o <tt>false</tt>.</li> <li>Saqué todo el código que pone colorcitos.</li> </ul> <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-types">int</span><span class="hl-code"> </span><span class="hl-identifier">main</span><span class="hl-brackets">(</span><span class="hl-types">void</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">NMAX</span><span class="hl-code"> = </span><span class="hl-number">1000</span><span class="hl-code">; </span><span class="hl-comment">//Armamos la &quot;lista&quot;</span><span class="hl-code"> </span><span class="hl-types">bool</span><span class="hl-code"> </span><span class="hl-identifier">tachado</span><span class="hl-brackets">[</span><span class="hl-identifier">NMAX</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-identifier">NMAX</span><span class="hl-code">; ++</span><span class="hl-identifier">i</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-identifier">tachado</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">false</span><span class="hl-code">; </span><span class="hl-comment">//empezamos con todos sin tachar</span><span class="hl-code"> </span><span class="hl-identifier">tachado</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-reserved">true</span><span class="hl-code">; </span><span class="hl-comment">//0 no es primo, lo tacho</span><span class="hl-code"> </span><span class="hl-identifier">tachado</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-reserved">true</span><span class="hl-code">; </span><span class="hl-comment">//1 no es primo, lo tacho</span><span class="hl-code"> </span><span class="hl-comment">//y ahora empezamos a tachar</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">NMAX</span><span class="hl-code">; ++</span><span class="hl-identifier">p</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">tachado</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-brackets">{</span><span class="hl-code"> </span><span class="hl-comment">//p no esta tachado, asi que es primo</span><span class="hl-code"> </span><span class="hl-identifier">std</span><span class="hl-code">::</span><span class="hl-identifier">cout</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">p</span><span class="hl-code"> &lt;&lt; ' '; </span><span class="hl-comment">//tachamos todos los múltiplos que estén en la &quot;lista&quot; o tabla</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">2</span><span class="hl-code">*</span><span class="hl-identifier">p</span><span class="hl-code">; </span><span class="hl-identifier">j</span><span class="hl-code"> &lt; </span><span class="hl-identifier">NMAX</span><span class="hl-code">; </span><span class="hl-identifier">j</span><span class="hl-code"> += </span><span class="hl-identifier">p</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-identifier">tachado</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-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-identifier">std</span><span class="hl-code">::</span><span class="hl-identifier">cout</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">std</span><span class="hl-code">::</span><span class="hl-identifier">endl</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> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-86180">Foro CyM / Tema libre (casi) - Abierto</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-241735/criba-de-eratostenes">Criba de Eratóstenes</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://cym.wikidot.com/forum/t-244170#post-795121</guid>
				<title>Project Euler</title>
				<link>http://cym.wikidot.com/forum/t-244170/project-euler#post-795121</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> <br/>Categoría del foro: <a href="http://cym.wikidot.com/forum/c-8990">Foro CyM / Tema libre (casi)</a><br/>Hilo del foro: <a href="http://cym.wikidot.com/forum/t-244170/project-euler">Project Euler</a>
				 	]]>
				</content:encoded>							</item>
				</channel>
</rss>