“Conocimiento Programación>Perl Programming

Cómo calcular los factores primos de un número entero en Perl

2011/1/16
Perl no tiene una función predefinida que le permite obtener los factores primos de un entero, pero el uso de la recursividad y la base - 10 números, puede escribir su propia función para lograr la tarea. Con la función " mapa " le permite realizar de forma recursiva un bloque de código en una lista . Al utilizar el número entero como la lista , puede extraer repetidamente factores primos de ella para llegar a todos ellos , a continuación, utilice la función " sprintf " para mostrar en la pantalla separadas por un espacio para que sean más fáciles de leer . Instrucciones
1

Abra un archivo de programa Perl. Escriba el siguiente código:

sub factor de

{ for ($ i = 0 ; $ i <@ _ ; $ i + + ) {

$ num = @ _ [ ,"$ i ] ;

print " Los factores primos de @ _ [ $ i ] son ​​:";

estampado plano { sprintf ("% s ", longitud ) : " "} getNext ( 1x $ num) ;

print "\\ n"; }


}

Esto crea una función simple llamado "factor" que toma cualquier número de parámetros e imprime los factores primos , cada uno separado por un espacio. Se llama a la función " getNext " para calcular realmente los factores primos
2

Escriba el siguiente código: .

Sub getNext

{ if ($ _ [ 0 !] ~ /^ ( ? .. +) \\ 1 + $ /) {

regreso @ _ ;

} else {

regreso mapa getNext ($ _) , ( "$ 1 ", $ _ [ 0 ] = ~ s /$ 1/1/g , $ _ [ 0 ] ) [ 0 , -1 ] ;


} }

Esto crea la función " getNext ", que comprueba si un número entero es un número primo . Si es así , devuelve el número de la función "factor" que desea imprimir. Si no, se llama a sí misma recursivamente para encontrar el próximo primer bajo
3

Escriba el siguiente código:
factor de

( 45 ) ;
factor de

. ( 3300,24 ) ;

Estas dos líneas de probar la función para obtener factores primos. La primera línea sólo tiene un parámetro, por lo que sólo muestra una línea. Se imprime 3 , 3 y 5 como factores primos. La línea siguiente obtiene los factores primos de dos números. Para 3300 , se imprime 2 , 2 , 3 , 5 , 5 y 11, y de 24 , imprime 2 , 2 , 2 y 3 .
4

Guardar el programa Perl.


Perl Programming
¿Cuál es la función de ARP?
Cómo reemplazar espacios finales Con las expresiones regulares de Perl
Cómo encontrar los números de línea usando Perl
Cómo agregar módulos para Perl
Cómo comprobar si una cadena existe en Perl
Cómo leer un archivo XML de FH Perl
Cómo iniciar una sesión en Perl con Perforce
¿Qué significa la palabra peligro?
Conocimiento de la computadora © http://www.ordenador.online