Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- #----------------------------------------------------------------------------
- # Created by : Alain Van Kerckhoven
- # Created Date: 8 juin 2022
- # Licence : GPL
- # Version : 1.0
- # ---------------------------------------------------------------------------
- """
- Un nombre s-premier est un nombre premier dont la somme des chiffres
- est aussi un nombre premier (avk). Ce programme en calcule les n premiers.
- """
- # ---------------------------------------------------------------------------
- l_prem = [] # Liste des nombres premiers
- l_result = [] # Liste des nombres s-premiers
- def f_prem(num):
- # Renvoit True si le nombre est premier.
- if num> 1:
- for n in range(2,num):
- if (num % n) == 0:
- return False
- return True
- else:
- return False
- def f_somme(num):
- # Additionne les chiffres d'un nombre
- sum = 0
- for digit in str(num):
- sum = sum + int(digit)
- return sum
- print("Un nombre s-premier est un nombre premier dont")
- print("la somme des chiffres est elle aussi un nombre premier.")
- print()
- limite=int(input("Combien de nombres s-premiers désirez-vous calculer ? "))
- print()
- i = 1
- while (len(l_result)<limite):
- # Tant que nous n'avons pas le nombre de s-premiers demandé...
- i+=1
- if (f_prem(i)):
- l_prem.append(i)
- j = f_somme(i)
- if (f_prem(j)):
- l_result.append(i)
- print("Les", limite, "premiers s-premiers sont :")
- print (l_result)
Add Comment
Please, Sign In to add comment