<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>MixInformatico.com &#187; Codigo Java</title>
	<atom:link href="http://www.mixinformatico.com/tag/codigo-java/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mixinformatico.com</link>
	<description>Reforzando tus ideas</description>
	<lastBuildDate>Sat, 31 Jul 2010 00:47:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Factorial de un número</title>
		<link>http://www.mixinformatico.com/2010/03/25/factorial-de-un-numero/</link>
		<comments>http://www.mixinformatico.com/2010/03/25/factorial-de-un-numero/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 03:50:42 +0000</pubDate>
		<dc:creator>dementexmaster</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Codigo Java]]></category>
		<category><![CDATA[Factorial]]></category>

		<guid isPermaLink="false">http://www.mixinformatico.com/?p=8907</guid>
		<description><![CDATA[El factorial de un número es la multiplicación de los número que van del 1 a dicho número. Para expresar el factorial se suele utilizar la notación n!. Así la definición es la siguiente: 1 n! = 1 x 2 x 3 x 4 x 5 x ... x &#40;n-1&#41; x n. Siguiendo esta simple [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">El factorial de un número es la multiplicación de los número que van del  1 a dicho número. Para expresar el factorial se suele utilizar la  notación n!. Así la definición es la siguiente:</p>
<p style="text-align: justify;">

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="java" style="font-family:monospace;">n<span style="color: #339933;">!</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span> x <span style="color: #cc66cc;">2</span> x <span style="color: #cc66cc;">3</span> x <span style="color: #cc66cc;">4</span> x <span style="color: #cc66cc;">5</span> x ... <span style="color: #006633;">x</span> <span style="color: #009900;">&#40;</span>n<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> x n.</pre></td></tr></table></div>

<p style="text-align: justify;">Siguiendo esta simple expresión podríamos codificarlo en Java de la  siguiente forma.</p>
<p style="text-align: justify;">Lo primero es definir la variable que va a definir el factorial y la  que definirá el número sobre el que vamos a calcular el factorial.</p>
<p><span id="more-8907"></span></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">double</span> factorial <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// El número elegido para el factorial es el 30</span>
<span style="color: #000066; font-weight: bold;">double</span> numero<span style="color: #339933;">=</span><span style="color: #cc66cc;">30</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p style="text-align: justify;">Lo siguiente es hacer el bucle en el cual iremos decrementando el número y multiplicando por el valor del factorial.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span> numero<span style="color: #339933;">!=</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  factorial<span style="color: #339933;">=</span>factorial<span style="color: #339933;">*</span>numero<span style="color: #339933;">;</span>
  numero<span style="color: #339933;">--;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p style="text-align: justify;">Solo nos quedará el volcar el valor por pantalla:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>factorial<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p style="text-align: justify;">Esta es una forma muy sencilla de implementar el factorial. Si bien, tenemos otra forma de implementarlo. En este caso el factorial se define de una forma recursiva. Esta definición fue realizada por el matemático frances Christian Kramp.</p>
<p>La definición viene a decir lo siguiente:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="java" style="font-family:monospace;">si n<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span>
  entonces el factorial es <span style="color: #cc66cc;">1</span>
si n  <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">1</span>
  entonces <span style="color: #009900;">&#40;</span>n<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">!</span> x n</pre></td></tr></table></div>

<p style="text-align: justify;">Esta implementación se puede definir con recursividad en la programación Java de la siguiente forma:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">int</span> factorial <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">double</span> numero<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>x<span style="color: #339933;">==</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>
    <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
  <span style="color: #000000; font-weight: bold;">else</span>
    <span style="color: #000000; font-weight: bold;">return</span> numero <span style="color: #339933;">*</span> factorial<span style="color: #009900;">&#40;</span>numero<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p style="text-align: justify;">Como podemos ver es un calco de la definición de Christian Kramp. En esta definición el método se irá llamando recursivamente hasta que se llegue a calcular el factorial del número 0.</p>
<p>Para volcar el dato por pantalla tendremos la siguiente línea de código::</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>factorial<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">40</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.mixinformatico.com/2010/03/25/factorial-de-un-numero/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.708 seconds -->

