# |------------------------------------------------------------------|
# |                                                                  |
# | BCPST2, 2022-2023                                                |
# | Séances de TD d'informatique (P. Roux)                           |
# |                                                                  |
# |------------------------------------------------------------------|

## TD 1 : Itérations simples

## Question I

def Fact(N):
    return None

print(Fact(6))

def SumPow(N, p):
    return None

print(SumPow(7,0))

def Fib(N):
    return None

print(Fib(40))

def A(N):
    return None

print(A(2)) # 4 car 1/2 + 1/3 + 1/4 = 1.08333..

## Question II

L = [7, 3, 9, 2, 4, 3, 1, 0, 9]

def Pos(x,L):
    return None

print(Pos(3,L))
print(Pos(4,L))
print(Pos(5,L))

def PosMax(L):
    return None

print(PosMax(L))

## Question III

def ListeDiv(n):
    return None

print(ListeDiv(97))

def ListePremiers(n):
    return None

print(ListePremiers(100))

## Question IV

def Somme(u):
    return None

def TesteParf(n):
    return None

print(TesteParf(33550336))

def ListeParfaits(N):
    return None

print(ListeParfaits(4))

## Question V

def TesteArms(n):
    return None

print(TesteArms(8208))
print(TesteArms(93084))

def ListeArms(N):
    return None

for N in (1,2,3,4,5):
    print(N, ListeArms(N))

## Question VI

def U(x,n):
    return None

for n in (0, 1, 2, 3):
    print(U(2,n))

def limU(x,epsilon):
    return None

for x in (2, 3, 4, 16):
    print(x,limU(x,1E-10))

## Question VII

def Syracuse(k,n):
    return None

print(Syracuse(5,2))

def LongSyracuse(k):
    return None

print(LongSyracuse(350))

LLS = [ LongSyracuse(k) for k in range(1, 100001) ]
i = PosMax(LLS)
#print(i+1, LLS[i])

## Question VIII

## (VIII.1)

def Pal(S):
     return None

print(Pal('canoë'))
print(Pal('kayak'))

## (VIII.2)

def MaxFreq(S):
    return None

Incipit = "Ce prince aimait le commerce des femmes, même de celles dont il n'était pas amoureux : il demeurait tous les jours chez la reine à l'heure du cercle, où tout ce qu'il y avait de plus beau et de mieux fait, de l'un et de l'autre sexe, ne manquait pas de se trouver."

print(MaxFreq(Incipit))

## (VIII.3)

def Paires(S):
    return None

print(Paires('AAAABB'))

## (VIII.4)

tld = "com.net.org.fr.de.uk"
legal = "!#$%&’*+-=?^_‘{|}~/"

def IsIllegal(s):
    return None

def IsMail(s, TLD):
    return None

print(IsMail('prx@gmx.fr', tld))
print(IsMail('marc.118@toto.truc.fr', tld))

## Question IX

## Question X
