# -*- coding: utf-8 -*-

# on peut aussi effectuer l'import des fonctions contenues dans multiples.py
# from multiples import *
def estmultiple(a,b):
    n=0 # premier multiple de b
    while n<a:
        n=n+b # balayage de la table de b
    if n==a :
        Reponse=True
    else :
        Reponse=False
    return Reponse
    


# déterminer si un nombre est premier

## balayage de tous les entiers de 2 à n-1 et test avec la fonction estmultiple
def estpremier(n):
    for diviseur in range(2,n-1):
        if estmultiple(n,diviseur):
            return False
    return True

## même principe mais sortie de la boucle dès qu'on trouve un diviseur - un seul return
def estpremier2(n):
    diviseur=2
    Reponse=True
    while Reponse==True and diviseur<n :# remarque while Reponse and diviseur<n convient aussi
        if estmultiple(n,diviseur):
            Reponse=False
        diviseur+=1          
    return Reponse

## Algorithme plus efficace avec le test du reste et un arret plus rapide et les test de 2 et des impairs

from math import sqrt #import de la fonction racine carré

def estpremier3(n):
    if n%2==0:
        return False
    diviseur=3
    while diviseur<sqrt(n):
        if n%diviseur==0:
            return False
        diviseur=diviseur+2
    return True
