viernes, 27 de mayo de 2011

Programación- Pistas para solución de algoritmos (parte 2)

Hola again...si leyeron la parte 1 de este mega-torpedo XD, se daran cuenta que dejamos en el tintero 2 algortimos...uno de ellos bastante brigido, y que me olvide incluir en la primera parte...pero ahora lo defino, del otro, no me he podido acordar, y si no me lo recuerdo, quizas no era tan complicado XD...

Nos pidieron un cuento que leyera un solo numero...hasta ahi todos felices, pero que definiera si ese numero era perfecto o no..CSM!!! que es un numero perfecto?!..bueno, por suerte el profe nos explico que un numero perfecto es aquel que la suma de todos sus divisores, a excepción del divisor que es el mismo numero,  arroja el valor del mismo numero entero...WFT!!...eso quiere decir quea este numero tenemos que sacarle todos los divisores y excluir el divisor del numero
1.- En los problemas de la clase anterior tuvimos un caso que nos pedian imprimir todos los divisores de un numero, para eso usamos un ciclo hacer para que fuera desde 1 hasta el valor del numero leido, y que aplicara un mod a toda esa secuencia y que mientras ese mod fuera cero, el numero definido en la variable de control seria impreso....
Partir
Leer numer
hacer para Aux= 1 a nume
Resto=nume MOD Aux
Si Resto =0 entonces
    Imprimir Aux, "es divisor de", nume
Fin Si
Bueno...esto mismo lo podemos aplicar, pero agregando a la historia un acomulador, que nos vaya sumando la variable auxiliar..

Partir
ACNUM=0
Leer nume
hacer para Aux= 1 a nume
Resto=nume MOD Aux
Si Resto =0 entonces
    ACNUM=ACNUM+Aux
Fin Si
Fin Hacer Para
 Hasta ahora, esto no nos sirve de mucho por que nos va a sumar todos los divisores incluyendo al mismo numero...pero..usemos craneo...necesitamos excluir ese numero...por que no los sumamos todos cara de nalga no mas y despues al resultado de esa suma le restamos el valor del numero leido???
DivisoresP= ACNUM-nume
Esto nos dejara sumados todos los divisores excluyendo al mismo numero!!!. Lo demas, es joda po...solo tenemos que comparar nuestra variable DivisoresP (la creé como ejemplo, obvio usen otro nombre más ingenioso po!) contra el numero leido (nume)..si esta es igual al numero, el numero es perfecto...si no, no es perfecto y es un simple mortal como uno XD (PD: Creo que asumen que para esto usaran una "pregunta")

Ojala les haya quedado más claro y si se rajan con cigarros, chelas, su wisky de 30 años o una invitación a carretes... no me enojoXD. Saludos y que tengan un buén fin de semana

No hay comentarios:

Publicar un comentario

Deja tu comentario o sugerencia!