• Aucun résultat trouvé

s, µ = s + µ * math.floor(n/d), -µ j = 0 if µ

N/A
N/A
Protected

Academic year: 2022

Partager "s, µ = s + µ * math.floor(n/d), -µ j = 0 if µ"

Copied!
1
0
0

Texte intégral

(1)

import bisect, math, time primes = [2]

def next_prime(n):

while any([n % d == 0 for d in primes]): n += 1 return n

def add_primes(n):

r = math.sqrt(n)

while primes[-1] < r: primes.append(next_prime(primes[-1] + 1)) def pi(n):

# Knuth's algorithm G (Gray binary generation) is used to generate all subsets of range(m)

m = bisect.bisect_right(primes, math.sqrt(n)) a = [0 for _ in range(m)]

s, µ = m, 1 while (True):

d = math.prod([primes[i] for i in range(m) if a[i]]) s, µ = s + µ * math.floor(n/d), -µ

j = 0 if µ == -1 else a.index(1) + 1 if j == m: break

a[j] = 1 - a[j]

return s add_primes(10000) for k in range(1, 11):

n = 1000*k

t0 = time.time(); p = pi(n); t1 = time.time()

print('n = {:5d}, pi = {:4d}, time = {:10.6f} s'.format(n, p, t1-t0))

Références

Documents relatifs

C’est supérieur à 1 cm, donc on ne peut pas dire qu’on a estimé la taille moyenne avec une erreur inférieure à 1 cm pour ce niveau de confiance.. Pour obtenir une estimation

L’anisotropie d’un matériau cristallisé peut avoir deux origines : une origine cristalline (les cristaux eux-mêmes sont anisotropes, leur orientation dans la pièce n’est

Une fente source S très fine, perpendiculaire au plan de la figure a son centre au foyer objet d'un condenseur   C.. Exprimer l'amplitude A de la vibration diffractée dans

Il s'agit de former une liste d'intervalles et de décrire le comportement de la suite lorsque x 0 est dans chacun des intervalles listés.. Former le tableau de variation de f µ

Que peut-on dire du quadrilatère formé par ces 4

[r]

● Le sujet étant différent pour chaque candidat, veuillez joindre le sujet à votre copie quand vous rendez votre travail.. ● Si, au cours de l'épreuve, le candidat repère ce qui

semble être adapté pour décrire cette série temporelle.. Ajuster le modèle de la première partie puis un modèle ARM A(2, 1) (on donnera