Calcul des sommes
Pour calculer la somme des puissances de 3, on initialise une variable somme à zéro, puis au sein d’une boucle, on lui additionne successivement les puissances de 3 :
/*Programme tp 122a
*/
var somme=0;
for(n=1;n<=30;n=n+1){
somme=somme+Math.pow(3,n-1);
Println(n+":"+somme);
}
L’affichage produit les valeurs suivantes des sommes [1] :
n | Un |
1 | 1 |
2 | 4 |
3 | 13 |
4 | 40 |
5 | 121 |
6 | 364 |
7 | 1093 |
8 | 3280 |
9 | 9841 |
10 | 29524 |
11 | 88573 |
12 | 265720 |
13 | 797161 |
14 | 2391484 |
15 | 7174453 |
16 | 21523360 |
17 | 64570081 |
18 | 193710244 |
19 | 581130733 |
20 | 1743392200 |
21 | 5230176601 |
22 | 15690529804 |
23 | 47071589413 |
24 | 141214768240 |
25 | 423644304721 |
26 | 1270932914164 |
27 | 3812798742493 |
28 | 11438396227480 |
29 | 34315188682441 |
30 | 102945566047324 |
Sommes modulo 2, 3, 7 et 13
En JavaScript, le reste d’une division euclidienne s’obtient par l’opération « modulo » notée par le symbole « % ». La modification du script précédent pour avoir les restes euclidiens voulus est donc la suivante :
/*Programme tp 122b
*/
var somme=0;
for(n=1;n<=30;n=n+1){
somme=somme+Math.pow(3,n-1);
Println(n+":"+somme%2+","+somme%3+","+somme%7+","+somme%13);
}
Ce script permet d’obtenir (sans tableur !) le tableau suivant :
n | 2 | 3 | 7 | 13 |
1 | 1 | 1 | 1 | 1 |
2 | 0 | 1 | 4 | 4 |
3 | 1 | 1 | 6 | 0 |
4 | 0 | 1 | 5 | 1 |
5 | 1 | 1 | 2 | 4 |
6 | 0 | 1 | 0 | 0 |
7 | 1 | 1 | 1 | 1 |
8 | 0 | 1 | 4 | 4 |
9 | 1 | 1 | 6 | 0 |
10 | 0 | 1 | 5 | 1 |
11 | 1 | 1 | 2 | 4 |
12 | 0 | 1 | 0 | 0 |
13 | 1 | 1 | 1 | 1 |
14 | 0 | 1 | 4 | 4 |
15 | 1 | 1 | 6 | 0 |
16 | 0 | 1 | 5 | 1 |
17 | 1 | 1 | 2 | 4 |
18 | 0 | 1 | 0 | 0 |
19 | 1 | 1 | 1 | 1 |
20 | 0 | 1 | 4 | 4 |
21 | 1 | 1 | 6 | 0 |
22 | 0 | 1 | 5 | 1 |
23 | 1 | 1 | 2 | 4 |
24 | 0 | 1 | 0 | 0 |
25 | 1 | 1 | 1 | 1 |
26 | 0 | 1 | 4 | 4 |
27 | 1 | 1 | 6 | 0 |
28 | 0 | 1 | 5 | 1 |
29 | 1 | 1 | 2 | 4 |
30 | 0 | 1 | 0 | 0 |
Restes modulo 91 et 182
Le script précédent est aisément modifié en le suivant :
/*Programme tp 122c
*/
var somme=0;
for(n=1;n<=30;n=n+1){
somme=somme+Math.pow(3,n-1);
Println(n+":"+somme%(7*13)+","+somme%(2*7*13));
}
Le tableau obtenu, ci-dessous, aide à faire les conjectures :
n | modulo 91 | modulo 182 |
1 | 1 | 1 |
2 | 4 | 4 |
3 | 13 | 13 |
4 | 40 | 40 |
5 | 30 | 121 |
6 | 0 | 0 |
7 | 1 | 1 |
8 | 4 | 4 |
9 | 13 | 13 |
10 | 40 | 40 |
11 | 30 | 121 |
12 | 0 | 0 |
13 | 1 | 1 |
14 | 4 | 4 |
15 | 13 | 13 |
16 | 40 | 40 |
17 | 30 | 121 |
18 | 0 | 0 |
19 | 1 | 1 |
20 | 4 | 4 |
21 | 13 | 13 |
22 | 40 | 40 |
23 | 30 | 121 |
24 | 0 | 0 |
25 | 1 | 1 |
26 | 4 | 4 |
27 | 13 | 13 |
28 | 40 | 40 |
29 | 30 | 121 |
30 | 0 | 0 |
Commentaires