Le nombre super-pairplus avec Python[4scientifique]

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)

Leave a Reply

Your email address will not be published. Required fields are marked *