Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Función pares e impares / primos y no primos

Estas en el tema de Función pares e impares / primos y no primos en el foro de Javascript en Foros del Web. buenas debo hacer que en un cuadro de texto me indique si el numero es par o impar y primo o no primo y que ...
  #1 (permalink)  
Antiguo 27/01/2016, 09:59
 
Fecha de Ingreso: enero-2016
Mensajes: 22
Antigüedad: 8 años, 2 meses
Puntos: 0
Función pares e impares / primos y no primos

buenas debo hacer que en un cuadro de texto me indique si el numero es par o impar y primo o no primo y que permita números solamente de 1 a 100, soy novato en esto y hasta el momento lo que tengo es que me indica si es primo o no primo.

html
<body>
<form>
<label for="digite">Digite:</label>
<input type="text" id="digite" /><br />
<label for="resultado">Resultado</label>
<input type="text" id="resultado" disabled /><br />
<input type="button" onClick="Comprobar()" value="Comprobar" />
</form>

</body>

JS
function Comprobar()
{
var num = document.getElementById("digite").value;
num = parseInt(num);

if (isNaN(num))
return;

var mensaje = (num % 2 == 0) ? "Par" : "Impar";

document.getElementById("resultado").value = mensaje;

}
  #2 (permalink)  
Antiguo 27/01/2016, 11:16
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Función pares e impares / primos y no primos

Bienvenido a Foros del Web.

Ya tienes resulta la parte de los números pares e impares. En cuanto al rango del 1 al 100, solo necesitas otra condición que verifique que el número es mayor o igual a 1 y menor o igual a 100. Esa condición anidada debe de comprobarse antes que la evaluación de si es un valor par o impar y primo o compuesto.

Sabiendo que un número primo es cualquier número natural mayor que uno y divisible solo por sí mismo y la unidad, la secuencia de condiciones sería así:
Código Javascript:
Ver original
  1. function Comprobar(){
  2.     var num = document.getElementById("digite").value,
  3.         mensaje = "El número es ";
  4.    
  5.     num = parseInt(num);
  6.  
  7.     if (isNaN(num) && isFinite(num)) return;
  8.     else{
  9.         if (num >= 1 && num <= 100){
  10.             mensaje += (num % 2 === 0) ? "par" : "impar";
  11.             if (num > 1){
  12.                 for (var i = 2, primo = true; i < num; i++){
  13.                     if (num % i === 0){
  14.                         primo = false;
  15.                         break;
  16.                     }
  17.                 }
  18.                 mensaje += primo ? " y primo" : " y compuesto";            
  19.             }
  20.             document.getElementById("resultado").value = mensaje;
  21.         }
  22.     }    
  23. }

Luego de comprobar que se trata de un valor numérico, verificamos si es mayor o igual a uno y menor o igual a cien; de ser así, verificamos si es par o impar y concatenamos el resultado a la variable del mensaje. Enseguida, verificamos que el número sea mayor a uno; de ser así, utilizamos una estructura cíclica para recorrer la lista de números que hay desde el dos hasta un número antes del que estamos evaluando; esto es debido a que de antemano sabemos que es divisible por el uno y por sí mismo. Si hay un número en la secuencia por el cual el valor en evaluación sea divisible, entonces, podremos concluir en que se trata de un número compuesto o no-primo. Para esto, utilizamos una variable como comodín para determinar el resultado que concatenamos a la variable del mensaje y, finalmente, imprimimos en el campo de texto de la respuesta final.

DEMO

Un saludo
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 27/01/2016 a las 11:42 Razón: Coma de más
  #3 (permalink)  
Antiguo 27/01/2016, 11:25
 
Fecha de Ingreso: enero-2016
Mensajes: 22
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Función pares e impares / primos y no primos

Excelente muchas gracias por tu ayuda y por la explicación ahora con eso y el código a analizarlo para comprenderlo mejor.
  #4 (permalink)  
Antiguo 27/01/2016, 12:18
 
Fecha de Ingreso: agosto-2015
Ubicación: En Carúpano
Mensajes: 49
Antigüedad: 8 años, 8 meses
Puntos: 12
Respuesta: Función pares e impares / primos y no primos

aqui puedes ver una tabla:
https://jsfiddle.net/kbztbumL/
introduces un numero y te da una tabla desde el 1 hasta el numero que pusiste, especificando cual es primo y cual no es primo, cual es par y cual es impar.
  #5 (permalink)  
Antiguo 27/01/2016, 15:42
 
Fecha de Ingreso: enero-2016
Mensajes: 22
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Función pares e impares / primos y no primos

en este caso no se como agregar la opción para interlineado del texto



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<script>
function formato(){

var tam_texto;
tam_texto=parseInt(document.getElementById("tamany o").value);
document.getElementById("texto").style.fontSize=ta m_texto + "pt";

var tipo_texto;
tipo_texto=document.getElementById("tipo").value;
document.getElementById("texto").style.fontFamily= tipo_texto;

var color_texto;
color_texto=document.getElementById("color").value ;
document.getElementById("texto").style.color=color _texto;

var negrita;
negrita=document.getElementById("negrita").checked ;
if(negrita==true){
document.getElementById("texto").style.fontWeight= "bold";}
else{
document.getElementById("texto").style.fontWeight= "normal";}

var cursiva;
cursiva=document.getElementById("cursiva").checked ;
if(cursiva==true){
document.getElementById("texto").style.fontStyle=" italic";}
else{
document.getElementById("texto").style.fontStyle=" normal";}

var subrayado;
subrayado=document.getElementById("subrayado").che cked;
if(subrayado==true){
document.getElementById("texto").style.textDecorat ion="underline";}
else{
document.getElementById("texto").style.textDecorat ion="none";}

var alineacion;
if(document.getElementById("izquierda").checked==t rue)
alineacion="left";
if(document.getElementById("derecha").checked==tru e)
alineacion="right";
if(document.getElementById("centro").checked==true )
alineacion="center";
if(document.getElementById("justificado").checked= =true)
alineacion="justify";
document.getElementById("texto").style.textAlign=a lineacion;
}
</script>
</head>

<body>
<div id="controles">Tamaño del texto
<select id="tamanyo" onchange="formato()">
<option value="8">8</option>
<option value="10">10</option>
<option value="12">12</option>
<option value="14">14</option>
<option value="16">16</option>
<option value="20">20</option>
<option value="28">28</option>
<option value="36">36</option>
<option value="72">72</option>
</select>

Tipo de texto
<select id="tipo" onchange="formato()">
<option value="arial">arial</option>
<option value="verdana">verdana</option>
<option value="geneva">geneva</option>
<option value="georgia">georgia</option>
<option value="cambria">cambria</option>
<option value="batang">batang</option>
atang
</select>

color del texto
<select id="color" onchange="formato()">
<option value="#000000">negro</option>
<option value="#CCCCCC">gris</option>
<option value="#6699FF">azul</option>
<option value="#FF00FF">fuchsia</option>
<option value="#FFFF00">amarillo</option>
<option value="#008000">verde</option>
<option value="#FF0000">rojo</option>

</select>

</div>
<div id="controles2">
Negrita&nbsp;
<input name="negrita" type="checkbox" value="negrita" id="negrita" onclick="formato()"/>&nbsp;&nbsp;&nbsp;&nbsp;
Cursiva&nbsp;
<input type="checkbox" name="cursiva" value="checkbox" id="cursiva" onclick="formato()"/>&nbsp;&nbsp;&nbsp;&nbsp;Subrayado&nbsp;
<input type="checkbox" name="subrayado" value="checkbox" id="subrayado" onclick="formato()"/>
&nbsp;&nbsp;&nbsp;&nbsp;Alineación&nbsp;
<input name="a" type="radio" value="si" id="izquierda" onclick="formato()"/>&nbsp;Izq&nbsp;
<input name="a" type="radio" value="si" id="derecha" onclick="formato()"/>&nbsp;Der&nbsp;
<input name="a" type="radio" value="si" id="centro" onclick="formato()"/>&nbsp;Cen&nbsp;
<input name="a" type="radio" id="justificado" onclick="formato()" value="si"/>
&nbsp;Jus&nbsp;
</div>
<div id="texto">
<p>Científicos del Instituto de Ciencias Fotónicas (ICFO) de Barcelona, en colaboración con investigadores alemanes y estadounidenses, acaban de demostrar el grafeno es capaz de convertir un fotón absorbido en múltiples electrones que pueden conducir corriente eléctrica. Este prometedor descubrimiento convierte el grafeno en una importante alternativa para la tecnología de energía solar, actualmente basada ??en semiconductores convencionales como el silicio, según publica hoy la revista Nature Physics.<br />
“En la mayoría de los materiales, un fotón absorbido genera un solo electrón, pero en el caso del grafeno hemos visto que un fotón absorbido es capaz de producir muchos electrones excitados, y por lo tanto una señal eléctrica mayor” explica Frank Koppens, líder del grupo de la investigación en ICFO. Esta característica convierte al graneo en el ladrillo ideal para la construcción de cualquier dispositivo que quiera convertir la luz en electricidad. En particular, permite la producción de potenciales células solares y detectores de luz que absorban la energía del sol con pérdidas mucho menores. </p>
<p>Hace algún tiempo que la brillante idea de Edison, la bombilla con filamento metálico, ha empezado a formar parte de los museos de tecnología. Su problema es que solo en torno a un 2-3% de la energía eléctrica necesaria para que sus resistencias de wolframio o tungsteno se pongan incandescentes (los filamentos de estas lámparas alcanzan una temperatura de 2.700 grados centígrados) se transforma en luz visible; el resto se dispersa en forma de calor. De ahí que lámparas fluorescentes compactas y de tecnología led, mucho más eficientes, la hayan sustituido progresivamente.<br />
Pero no demos todavía a la vieja lámpara incandescente por muerta, porque investigadores del Instituto de Tecnología de Massachusetts (MIT) se han empeñado en recuperar su cálido resplandor en nuestros hogares por obra y gracia de la nanotecnología. Llamado cristal fotónico, el invento de estos expertos consiste en una estructura realizada con finísimas capas alternas de cristal, óxido de tantalio y dióxido de silicio que actúa a la vez como espejo y filtro. Por un lado, deja pasar la luz visible emitida por la resistencia de tungsteno, y por el otro, refleja la radiación infrarroja, que es reabsorbida y reutilizada para generar más luminosidad. </p>
<p>Para el experimento, no es necesario utilizar una lámpara de incandescencia que funcione, es decir, que puede estar fundida. Lo único imprescindible es que la bombilla no sea pequeña -la clásica de 60 W es suficiente- y que su cristal esté intacto de modo que el gas inerte que se aloja en su interior siga allí dentro.<br />
La prueba consiste en meterla en el microondas y ponerlo en marcha. Al cabo de unos segundos, la bombilla empieza a emitir luz dediferentes colores y acaba por explotar. La explicación: las luces de colores se deben a la ionización del gas del interior de la bombilla, una mezcla de argón, neón y nitrógeno, que se introduce para que el filamento no entre en contacto con el oxígeno del aire. Y es el calentamiento al que se somete la bombilla lo que hace que esta estalle.</p>
<p>Tras llevar a cabo una intervención quirúrgica que afecta al cerebro, los médicos deben comprobar que no surgen complicaciones. Para ello, controlan la evolución de algunos parámetros, como la temperatura y la presión intracraneal. No obstante, esto a menudo exige que se le implante al paciente –y luego se le retire– un sistema de monitorización, lo que aumenta el riesgo de que sufra infecciones y hemorragias.<br />
Ahora, según recoge un estudio publicado en la revista Nature, un equipo de investigadores de las universidades de Illinois, en Urbana-Champaign, y de la de Washington, en San Luis, ha ideado un pequeño biosensor que después de registrar y enviar esa información clave se disuelve de forma inocua en el organismo. </p>
</div>
</body>
</html>
  #6 (permalink)  
Antiguo 27/01/2016, 16:43
 
Fecha de Ingreso: enero-2016
Mensajes: 22
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Función pares e impares / primos y no primos

lo he intentado así y me parece funciona, igual agradezco cualquier corrección o ayuda

var int_texto;
int_texto=parseInt(document.getElementById("interl in").value);
document.getElementById("texto").style.lineHeight= int_texto + "em";


Interlineado del texto
<select id="interlin" onchange="formato()">
<option value="1,0">1,0</option>
<option value="2,0">2,0</option>
<option value="3,0">3,0</option>
<option value="4,0">4,0</option>
<option value="5,0">5,0</option>

</select>

Etiquetas: html, input, js, primos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:37.