Python - Determinar los primeros 50 números super-primos

 
Vista:

Determinar los primeros 50 números super-primos

Publicado por programadora97 (3 intervenciones) el 15/01/2016 12:09:13
Un número super-primo es aquel que además de ser primo, ocupa una posición cuyo índice es un número primo dentro de la secuencia de todos los números primos. Determinar los primeros 50 números super-primos. Calcular cuántos números hemos tenido que comprobar para obtener dichos 50 super-primos.
No se hacerlo se me pide que lo hagan en ipython con bucles. Por favor ayudaaaa
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 Jorge De Los Santos
Val: 77
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

Determinar los primeros 50 números super-primos

Publicado por Jorge De Los Santos (54 intervenciones) el 15/01/2016 18:46:01
Hola,

Verás, implementaciones de cómo determinar si un número es primo hay muchas por internet, y podrías adaptarlas en algo como lo siguiente para obtener los super-primos:

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
#-*- coding: utf8 -*-
def is_prime(n):
	if n == 2 or n == 3: return True
	if n < 2 or n%2 == 0: return False
	if n < 9: return True
	if n%3 == 0: return False
	r = int(n**0.5)
	f = 5
	while f <= r:
		if n%f == 0: return False
		if n%(f+2) == 0: return False
		f +=6
	return True
 
def super_primes(n):
	number = 1 # Contador de números
	kp = 1 # Contador de primos
	sprimes = []
	while len(sprimes)<n:
		if is_prime(number): # Si es primo?
			if is_prime(kp): # Si es un super-primo?
				sprimes.append(number)
			kp += 1
		number += 1
	print "Se han comprobado %g numeros"%(number-1)
	return sprimes
 
if __name__ == '__main__':
	print super_primes(50)


Puedes mejorar lo anterior, haciendo menos comprobaciones por ejemplo, sabiendo que cualquier número par a excepción del 2 es no primo.



Saludos,

Jorge De Los Santos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Determinar los primeros 50 números super-primos

Publicado por Sara (3 intervenciones) el 15/01/2016 19:59:20
Muchas gracias!!!!!
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