JavaScript - Problema al completarlo

   
Vista:
Imágen de perfil de Guillermo

Problema al completarlo

Publicado por Guillermo gaston010.gv@gmail.com (12 intervenciones) el 14/10/2015 06:41:40
Hola buenas noches /dias/tardes
bueno tengo este ejercicio para hacer ya no se que mas implementar ,,,xD es facil segun mi profe jaja

-Dado un numero natural , se quiere saber cuantos dígitos tiene y cuantos de esos son pares

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<html>
	<head>
		<TITLE>Ejercicio 230</TITLE>
	</head>
		<body>
			<h1> Variables simples<br>
				<br></h1>
				<h4>Alumno:<br></h4>
	<script type="text/javascript">
	document.write("Dado un numero natural , se quiere saber cuantos dígitos tiene y cuantos de esos son pares"+"<br>");
	x=parseInt(prompt("Ingrese un nuemero"));
	document.write("ingreso: " +x+"<br>");
	t=x;
	while (p<0)
	{
		c=p/10; //<---usar Math.floor segun EL PROFEEE!!!    , se divive por 10 para sacar los decimales y contar los digitos 102 /10 = 10,2 ,,Asi susesivamente
		r=t-c*10;
		d=d+1;
		a=r/2;
		a=r-a=10;
		if (b==0)
		{
			np=np+1;
		}
		p=c;
		document.write(d, np);
 
	}
	</script>
	</html>
	</boody>

Actualmente el scrip . no se e ejecuta no entiendo por que algún error tengo y no lo encuentro .. y tampoco me da lo que tiene que dar según mi prueba de escritorio en papel :D , agradeceria que me ayudasen en lo que puedan ...Gracias saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de VRM

Problema al completarlo

Publicado por VRM (4 intervenciones) el 17/10/2015 09:06:42
Hola:

No veo donde asignas la variable 'p' antes del while. Por lo que crea que te da un error ahí y se para el programa.

Tu "profe" te dice que uses Math.floor (https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/Math/floor), ya de paso miras la función Math.log10. Para sacar el número de digitos puedes emplear:
1
var digitos = Math.floor(Math.log10(x) + 1);

y para ver si es para cada decimal:
Si
1
y/2 == Math.floor(y/2)
el último dígito de y es par, luego divides por diez y redondeas; repites hasta que se acaba en número.

Saludos de Víctor.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Guillermo

Problema al completarlo

Publicado por Guillermo (12 intervenciones) el 20/10/2015 03:32:44
Bien , Gracias ..me rre sirvio para este y otro ejercicios ......
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar