• Aucun résultat trouvé

Un programme si surprenant pour connaître la primalité des entiers

N/A
N/A
Protected

Academic year: 2022

Partager "Un programme si surprenant pour connaître la primalité des entiers"

Copied!
2
0
0

Texte intégral

(1)

Un programme si surprenant pour connaître la primalité des entiers

Denise Vella-Chemla 20.02.2017

On fournit simplement ici un programme si surprenant issu de notre travail récent au sujet de mots de Christoffel sous des hyperboles.

1 #include <iostream>

2

3 int main(int argc, char* argv[]) {

4 int n, i, xn, yn, xnplusun, ynplusun ;

5 bool sensok, res1, res2 ;

6

7 for (n = 3 ; n <= 99 ; n=n+2) {

8 i = 1 ; sensok = true ;

9 xn = 1 ; yn = n-1 ;

10 xnplusun = 1 ; ynplusun = n ;

11 while ((i <= n-1) && sensok) {

12 res1 = (n > (xn + 1) * yn) ;

13 res2 = (n+1 > ((xnplusun + 1) * (ynplusun - 1))) ;

14 sensok = sensok && ((res1 && res2) || (not res1 && not res2)) ;

15 if (sensok) {

16 if (res1) xn = xn+1 ;

17 else yn = yn-1 ;

18 if (res2) xnplusun = xnplusun+1 ;

19 else ynplusun = ynplusun-1 ;

20 i = i+1 ;

21 }

22 }

23 if (sensok) std::cout << n << " est premier.\n\n" ;

24 else std::cout << n << " est composé.\n\n" ;

25 }

26 }

1

(2)

Ci-dessous, le même programme en Python.

1 for n in range (3,100,2):

2 xn = 1

3 yn = n-1

4 i = 1

5 sensok = True

6 xnplusun = 1

7 ynplusun = n

8 while ((i <= n-1) and sensok):

9 res1 = (n > (xn + 1) * yn)

10 res2 = (n+1 > ((xnplusun + 1) * (ynplusun - 1)))

11 sensok = sensok and ((res1 and res2) or ((not res1) and (not res2)))

12 if sensok:

13 if res1:

14 xn = xn+1

15 else:

16 yn = yn-1

17 if res2:

18 xnplusun = xnplusun+1

19 else:

20 ynplusun = ynplusun-1

21 i = i+1

22 if sensok:

23 print("%d est premier." % n)

24 else:

25 print("%d est composé." % n)

2

Références

Documents relatifs

Donner une formule du temps de calcul pour r´ ealiser un test sur le n-i` eme nombre de Fermat.. Estimer le temps de calcul pour tester

Référence : Cours de

1 71 == aaaaaaaaaaaabaaaaaabaaabaaababaab. 2 72

“On est extrêmement familiers avec la non-commutativité parce que lorsqu’on écrit, avec des lettres, lorsqu’on écrit des mots, des phrases, etc., on doit bien sûr faire

Pour ce faire, nous écrivons la liste Lprem des nombres premiers jusqu'à 101 et nous utilisons cette fois une boucle for k in Lprem.. C'est encore Euler qui démonta en 1732

[r]

[r]

[r]