Python - Programa recursividad para encontrar Numeros Primos

 
Vista:

Programa recursividad para encontrar Numeros Primos

Publicado por Anonimo (2 intervenciones) el 25/03/2018 07:39:42
si pueden ayudarme con este problema ya que he intentado de todo pero no logro hacer que funcione correctamente

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
32
33
34
35
36
def calcularCantidadPrimosEnIntervalo(a, b):
if (isinstance(a, int) and isinstance(b, int) and (a < b) and (a > 0)):
return calcularCantidadPrimosEnIntervaloAux(a, b)
else:
print("Entrada Invalida")
def calcularCantidadPrimosEnIntervaloAux(a, b):
numerosEntreAB = b - a + 2;
#numeroEntreAB determina mediante la resta del a y b sumandole 2 que representa a y b
if (((a // 2) == 1) or ((a // 3) == 1) or ((a // 4) == 1) or ((a // 5) == 1) or ((a // 7) == 1) or ((a // 11) == 1) or ((a // 13) ==
1)):
CPEI = numerosEntreAB
if ((a + 1) < b):
return calcularCantidadPrimosEnIntervaloAux((a+1), b)
else:
if (((b // 2) == 1) or ((b // 3) == 1) or ((b // 4) == 1) or ((b // 5) == 1) or ((b // 7) == 1) or ((b // 11) == 1) or ((b // 13)
== 1)):
CPEI += 1
print (CPEI)
else:
print (CPEI)
else:
if ((a + 1) < b):
CEPEI = numerosEntreAB - 1
return calcularCantidadPrimosEnIntervaloAux((a+1), b)
else:
if (((b // 2) == 1) or ((b // 3) == 1) or ((b // 4) == 1) or ((b // 5) == 1) or ((b // 7) == 1) or ((b // 11) == 1) or ((b // 13)
== 1)):
CPEI += 1
print (CPEI)
else:
print (CPEI)
def principal():
print ('Prueba Cantidad de Primos en Intervalos');
Ejercicio2 = calcularCantidadPrimosEnIntervalo(4, 5);
print (Ejercicio2);
principal();
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 algoritmo
Val: 819
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Programa recursividad para encontrar Numeros Primos

Publicado por algoritmo (245 intervenciones) el 25/03/2018 16:51:53
Espero que te sirva :)

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
# -*- coding: utf-8 -*-
 
primos = []
 
def es_primo(numero):
    # Hacemos bucle desde 2 hasta el anterior al número
    for i in range(2, numero):
        # calculamos el resto. Si es cero => no es primo
        if numero % i == 0:
            return False
    return True
 
def calcularCantidadPrimosEnIntervalo(a, b):
    if a < 2 or b < 2:
        print 'Deben ser mayores que 1'
        return False
 
    if es_primo(a):
        primos.append(a)
 
    if a == b:
        print 'Hemos encontrado: %s primos' % len(primos)
        print primos
        return
 
    calcularCantidadPrimosEnIntervalo(a+1, b)
 
calcularCantidadPrimosEnIntervalo(4, 51)
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

Programa recursividad para encontrar Numeros Primos

Publicado por Anonimo (2 intervenciones) el 25/03/2018 17:22:07
te lo agradezco mucho pero lamentablemente no puedo realizar el programa asi olvide comentarlo en la publicacion pero debo de hacer el programa de una forma que sea recursividad de pila sin usar for o while.
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