Vous êtes sur la page 1sur 9

Calcul sur les nombres

Tester si x est premier :


Un entier est premier si il divise 1 et lui-même seulement.

1ère méthode

def premier(x):

nb=0

for i in range(1,x+1):

if x%i==0:

nb=nb+1

test=nb==2

return test

2ème méthode :

def premier(x):

i=2

test=True

while i<=x//2 and test:

if x%i==0:

test=False

else:

i=i+1

return test

Tester si x est parfait :


Un entier est parfait si il est égal à la somme des ses diviseurs sauf lui-même.

def parfait(x):

s=0

for i in range(1,x//2+1):

if x%i==0:

s=s+i

test=s==x

return test

p. 1 Professeur : Mme FEHRI


Calcul PGDC de deux entiers a et b
1ère méthode : par différence

def pgcd(a,b):

while a!=b:

if a>b:

a=a-b

else:

b=b-a

return a

2ème méthode : Euclide


def pgcd(a,b):

while b!=0:

r=a%b

a=b

b=r

return a

Calcul PPCM
def ppcm(a,b):

if a>b:

max=a

min=b

else:

max=b

min=a

m=max

while max%min!=0:

max=max+m

return max

p. 2 Professeur : Mme FEHRI


#mettre les facteurs dans une chaîne
def facteurs(x):

d=2

ch=’’

while x!=1:

if x%d==0:

ch=ch+str(d)+'*'

x=x//d

else:

d=d+1

ch=ch[:-1]

return ch

Appel :

Ch=facteurs(x)

#mettre les facteurs dans un tableau


def facteurs(x,t,n):

d=2

n=0

while x!=1:

if x%d==0:

t[n]=d

n=n+1

x=x//d

else:

d=d+1

return t,n

Appel :

t=array([int]*20)

n=int()

t,n=facteurs2(x,t,n)

p. 3 Professeur : Mme FEHRI


#calcul x à la puissance y( xy )
def puissance(x,y):

p=1

for i in range(y):

p=p*x

return p

#calcul factoriel de x (x!)


def factoriel(x):

f=1

for i in range(1,x+1):

f=f*i

return f

#calcul somme des chiffres d’un entier n>0


def somme(n):

ch=str(n)

s=0

for i in range(len(ch)):

s=s+int(ch[i])

return s

2ème méthode :

def somme(n):

s=0

while n!=0:

r=n%10

s=s+r

n=n//10

return s

#conversion de la base 10à la base 2 :


def convertir2(n):

ch=''

while n!=0:

p. 4 Professeur : Mme FEHRI


r=n%2

ch=str(r)+ch

n=n//2

return ch

#conversion de la base 10 à la base 16 :


def convertir16(n):

ch=''

while n!=0:

r=n%16

if r<10:

ch=str(r)+ch

else:

ch=chr(r+55)+ch

n=n//16

return ch

# de la base 2 à la base 10
def verif(ch):

i=0

test=True

while (i<=len(ch)-1) and test:

if ch[i] in ['0','1']:

i=i+1

else:

test=False

return test

def saisie():

ch=input('donner ch')

while not verif(ch):

ch=input('donner ch')

return ch

p. 5 Professeur : Mme FEHRI


def puissance(x,y):

p=1

for i in range(y):

p=p*x

return p

def convertir2_10(ch):

n=0

for i in range(len(ch)):

n=n+int(ch[i])*puissance(2,len(ch)-i-1)

return n

#pp

ch=saisie()

print(verif(ch))

n=convertir2_10(ch)

print(n)

#de la base 16 à la base 10

def verif(ch):

i=0

test=True

chb='0123456789ABCDEF'

while (i<=len(ch)-1) and test:

if ch[i] in chb:

i=i+1

else:

test=False

return test

def saisie():

ch=input('donner ch')

while not verif(ch):

ch=input('donner ch')

return ch

p. 6 Professeur : Mme FEHRI


def puissance(x,y):

p=1

for i in range(y):

p=p*x

return p

def convertir16_10(ch):

n=0

for i in range(len(ch)):

if ch[i].isdecimal():

n=n+int(ch[i])*puissance(16,len(ch)-i-1)

else:

n=n+(ord(ch[i])-55)*puissance(16,len(ch)-i-1)

return n

#pp

ch=saisie()

print(verif(ch))

n=convertir16_10(ch)

print(n)

Traitement sur les Chaînes


#verifier qu’une chaîne ne contient que des lettres

def verif(ch):

i=0

test=True

while (i<=len(ch)-1) and test:

if 'A'<=ch[i]<='Z':

i=i+1

else:

test=False

return test

p. 7 Professeur : Mme FEHRI


#calcul nombre de voyelles

def voyelles(ch):

nb=0

chv='OUIEYA'

for i in range(len(ch)):

if ch[i].upper() in chv:

nb=nb+1

return nb

#inverser une chaîne :


def inverser(ch):

ch1=''

for i in range(len(ch)-1,-1,-1):

ch1=ch1+ch[i]

return ch1

#tester si une chaîne est palindrome se lit de la même manière de gauche à droite que de droite à
gauge

def palindrome(ch):

i=0

j=len(ch)-1

test=True

while i<=j and test:

if ch[i]==ch[j]:

i=i+1

j=j-1

else:

test=False

return test

#nombre d’occurrence d’un caractère dans une chaîne :

def occurrence(c,ch):

nb=0

for i in range(len(ch)):

p. 8 Professeur : Mme FEHRI


if ch[i]==c:

nb=nb+1

return nb

p. 9 Professeur : Mme FEHRI

Vous aimerez peut-être aussi