Un nombre N est dit super-pairplus s’il vérifie les trois conditions suivantes :
- Condition 1 : N est pair
- Condition 2 : N est formé uniquement par des chiffres pairs
- Condition 3 : tous les diviseurs de N autre que 1 sont des entiers pairs.
Exemples :
- N = 64 est un entier super-pairplus car 64 vérifie les trois conditions :
- Condition 1 : 64 est pair
- Condition 2 : 64 est formé uniquement par des chiffres pairs (6 et 4)
- Condition 3 : les diviseurs de 64 autre que 1 (2, 4, 8, 16, 32 et 64) sont des entiers pairs.
- N = 28 n’est pas un entier super-pairplus car une des trois conditions (condition 3) n’est pas vérifiée :
- Condition 1 : 28 est pair
- Condition 2 : 28 est formé uniquement par des chiffres pairs (2 et 8)
- Condition 3 : les diviseurs de 28 autre que 1 (2, 4, 7, 14 et 28) ne sont pas tous des entiers pairs. En effet, 7 est impair
TAF : Ecrire un programme Python permettant de vérifier si un entier naturel N (N > 0) est un nombre super-pairplus ou non.
Code Python
from numpy import array
import random
from math import*
#("=====================lecture ====================")
def saisie():
n = int(input("Donner un entier compris entre 5 et 50: "))
while not(5 <= n <= 50):
n = int(input("Donner un entier compris entre 5 et 50: "))
return n
#("=====================nombre de facteurs premiers ====================")
def nombre_de_facteurs_premiers(n):
f=0
i = 2
while n!=1:
if n % i==0:
n=n//i
f+=1
else:
i += 1
return f
#("=====================verifier nombre K-PP ====================")
def est_K_PP(t, n, k):
test=True
for i in range(0, n):
if (nombre_de_facteurs_premiers(t[i])==k):
print(t[i])
test=False
if True:
print("aucun nombre K-PP dans le tableau")
#("=====================remplir un tableau ====================")
def remplirTab(T,n):
for i in range(0,n):
T[i] = int(input("Donner l'élément ",i," (Doit être entre 100 et 999): "))
while not(100<=T[i]<=999):
T[i] = int(input("Donner l'élément ",i," (Doit être entre 100 et 999): "))
#("===================== PP ====================")
n = saisie()
T = array([int()]*n)
remplirTab(T,n)
k = random.randint(2, 5)
print("k=",k)
est_K_PP(T, n, k)