elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Deseas probar algunas mejoras a la interfaz del foro? Prueba cake! acerca de


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Elevado a la potencia en JS
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Elevado a la potencia en JS  (Leído 470 veces)
magodiesan

Desconectado Desconectado

Mensajes: 172


ART.EST.IMPERIUS.ORBIS.UNIVERSUS


Ver Perfil WWW
Elevado a la potencia en JS
« en: 8 Marzo 2017, 04:22 »

Sé que hay una función en javascript que eleva un número a la potencia
Código
  1. Math.pow(pam1,pam2);

Solo que me pico la curiosidad y quise re inventarla

Se supone que cree una función
Código
  1. function potencia(a,b){
  2. a = parseInt(a);
  3. b = pareeInt(a);
  4. c = a^b //suponiendo que este símbolo ^ hace referencia a la potencia
  5. return c //para retornar el valor de c
  6. }
  7.  
  8. document.write(2,2); //esto tiene que dar 4 no? Me da 0
  9.  

Que hago mal aquí?


En línea

Arte Es El Imperio de la Orbita del Universo
engel lex
CoAdmin
***
Desconectado Desconectado

Mensajes: 11.688



Ver Perfil
Re: Elevado a la potencia en JS
« Respuesta #1 en: 8 Marzo 2017, 04:34 »

no te has detenido a preguntar... si hay un operador de potencia, para que tengo que cargar la librería math y usar una funcion para hacer lo mismo mucho más complicado?

luego, no se te ocurrido googlear los operadores de jscript?
http://www.htmlpoint.com/javascript/corso/js_30.htm



En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
magodiesan

Desconectado Desconectado

Mensajes: 172


ART.EST.IMPERIUS.ORBIS.UNIVERSUS


Ver Perfil WWW
Re: Elevado a la potencia en JS
« Respuesta #2 en: 8 Marzo 2017, 04:41 »

no te has detenido a preguntar... si hay un operador de potencia, para que tengo que cargar la librería math y usar una funcion para hacer lo mismo mucho más complicado?

luego, no se te ocurrido googlear los operadores de jscript?
http://www.htmlpoint.com/javascript/corso/js_30.htm



Lo busqué, pero cuando lo busque ya había puesto el código acá, ahora, por qué no hacerlo aunque más complicado?
Quiero aprender cómo hacerlo, se que no hay operador de potencia, ahora, hay otra forma de hacerlo sin tener que cargar la librería math aunque sea más complicado?
En línea

Arte Es El Imperio de la Orbita del Universo
engel lex
CoAdmin
***
Desconectado Desconectado

Mensajes: 11.688



Ver Perfil
Re: Elevado a la potencia en JS
« Respuesta #3 en: 8 Marzo 2017, 04:51 »

no te digo que no lo intentes, lo que me refería era a la logica de

Código:
//Esto:
c=a^b;
//contra esto:
c=Math.pow(a,b);

como hacerlo? simple, con un ciclo, como lo harías a mano, multiplicas el numero por si mismo n veces... eso si, no será igual de rapido que Math.pow, ya que esta ultima está implementada a bajo nivel
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
magodiesan

Desconectado Desconectado

Mensajes: 172


ART.EST.IMPERIUS.ORBIS.UNIVERSUS


Ver Perfil WWW
Re: Elevado a la potencia en JS
« Respuesta #4 en: 8 Marzo 2017, 04:59 »

no te digo que no lo intentes, lo que me refería era a la logica de

Código:
//Esto:
c=a^b;
//contra esto:
c=Math.pow(a,b);

como hacerlo? simple, con un ciclo, como lo harías a mano, multiplicas el numero por si mismo n veces... eso si, no será igual de rapido que Math.pow, ya que esta ultima está implementada a bajo nivel
Pensé en el ciclo, pero no doy bien con el algoritmo, pensé en crear un while donde asiendo el coeficiente, se multiplique por el mismo la cantidad de veces que de coloque en b su exponente. Pero como logro esto, esto es lo que tengo hasta ahora

Código
  1. a = prompt("elige el número a potenciar");
  2. b = prompt("elige la potencia");
  3.  
  4. while(true){
  5.  
  6. c= a*a
  7.  
  8. break // ósea como hago que a*a se detenga hasta que cumpla con la cantidad del exponente?
  9.  
  10.  
En línea

Arte Es El Imperio de la Orbita del Universo
engel lex
CoAdmin
***
Desconectado Desconectado

Mensajes: 11.688



Ver Perfil
Re: Elevado a la potencia en JS
« Respuesta #5 en: 8 Marzo 2017, 11:51 »

lee sobre los ciclos for... hazlo con un ciclo for


sobre la formula, c=a*a es darle con un palo al agua... ya que

Código:
a= 3, c=0, ciclos=3
ciclo 1:
c=a*a
c -> 9

ciclo 2:
c=a*a
c -> 9

el resultado debe acumularse, lo logico es

Código:
a = 3, c = 1, ciclos = 3
ciclo 1:
c= c*a;
c -> 3

ciclo 2:
c= c*a
c -> 9

ciclo 3:
c= c*a
c -> 27
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Freishner


Desconectado Desconectado

Mensajes: 839

Desarrollador


Ver Perfil WWW
Re: Elevado a la potencia en JS
« Respuesta #6 en: 8 Marzo 2017, 14:38 »

lee sobre los ciclos for... hazlo con un ciclo for


sobre la formula, c=a*a es darle con un palo al agua... ya que

Código:
a= 3, c=0, ciclos=3
ciclo 1:
c=a*a
c -> 9

ciclo 2:
c=a*a
c -> 9

el resultado debe acumularse, lo logico es

Código:
a = 3, c = 1, ciclos = 3
ciclo 1:
c= c*a;
c -> 3

ciclo 2:
c= c*a
c -> 9

ciclo 3:
c= c*a
c -> 27


Le has quitado la diversión al chico jajajajajaja
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
El elevado coste de reclamar
Noticias
wolfbcn 0 541 Último mensaje 13 Noviembre 2007, 01:53
por wolfbcn
Riesgo elevado en la navegación por Internet
Noticias
wolfbcn 0 455 Último mensaje 21 Abril 2008, 17:51
por wolfbcn
[PROBLEMA] Uso de CPU demasiado elevado « 1 2 3 »
GNU/Linux
anonimo12121 22 4,124 Último mensaje 11 Enero 2009, 21:07
por lnvisible
Entero de 10 elevado a 1000
Programación C/C++
lluk 4 3,508 Último mensaje 8 Mayo 2011, 20:15
por ghastlyX
El elevado número de versiones pirata de Windows XP dispara las infecciones ....
Noticias
wolfbcn 0 818 Último mensaje 31 Julio 2011, 21:33
por wolfbcn
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines