Remplir un tableau 3x3 avec neuf entiers positifs distincts de sorte que : - les trois entiers de chaque ligne, de chaque colonne et de chaque diagonale principale sont les longueurs

Download (0)

Full text

(1)

B145. Triangles magiques **

Remplir un tableau 3x3 avec neuf entiers positifs distincts de sorte que :

- les trois entiers de chaque ligne, de chaque colonne et de chaque diagonale principale sont les longueurs des côtés d’un triangle non dégénéré,

- les périmètres des huit triangles sont identiques.

Les triangles ainsi obtenus sont appelés magiques. Trouver trois tableaux 3 x 3 distincts de sorte que l’aire de l’un au moins des huit triangles magiques de chacun d’eux est un nombre entier.

PROPOSITION Th Eveilleau 1°)

Le périmètre p minimal des triangles est 15.

Il est obtenu avec neuf entiers consécutifs dans le tableau, donc ici les plus petits.

L’aire est étudiée à partir de la formule de Héron :

- les trois côtés a, b et c ET le demi-périmètre p de ce triangle :

S=

Voici trois solutions :

Avec un périmètre de 36 et une aire entière de 54 pour le triangle de côtés (15, 12,9) :

8 15 13

17 12 7

11 9 16

Avec un périmètre de 36 et une aire entière de 54 pour le triangle de côtés (15, 12,9) :

9 13 14

17 12 7

10 11 15

Avec un périmètre de 36 et une aire entière de 54 pour le triangle de côtés (15, 12,9) :

9 16 11

14 12 10

13 8 15

2°)

Il n’y a pas de solution en remplaçant le périmètre par l’aire.

(2)

Programme de base de recherche de la question 1°).

//a-t-on un triangle ? //////////////////

function triangle(a,b,c,p) {

ar r=(a+b+c==p)&&(a+b>c)&&(a+c>b)&&(b+c>a)&&(Math.abs(a-c)<b)&&(Math.abs(b-c)<a)&&(Math.abs(a-b)<c); return (r);}

//Aire entière ? /////////////

function aireE(a,b,c) { var p=(a+b+c)/2;

var aire=Math.sqrt(p*(p-a)*(p-b)*(p-c));

return (entier(aire));

} //Tests ///////

function corrects(a1,a2,a3,a4,a5,a6,a7,a8,a9) {

var s=a1+a2+a3; var ok1=triangle(a1,a2,a3,s); var ok2=triangle(a4,a5,a6,s); var ok3=triangle(a7,a8,a9,s);

var ok4=triangle(a1,a4,a7,s); var ok5=triangle(a2,a5,a8,s); var ok6=triangle(a3,a6,a9,s); var ok7=triangle(a1,a5,a9,s);

var ok8=triangle(a3,a5,a7,s);

var A1=aireE(a1,a2,a3); var A2=aireE(a4,a5,a6); var A3=aireE(a7,a8,a9); var A4=aireE(a1,a4,a7);

var A5=aireE(a2,a5,a8); var A6=aireE(a3,a6,a9); var A7=aireE(a1,a5,a9); var A8=aireE(a3,a5,a7);

var A=A1||A2||A3||A4||A5||A6||A7||A8;

return (ok1&&ok2&&ok3&&ok4&&ok5&&ok6&&ok7&&ok8&&A);

}

var maxi=50;

//Recherche ///////////

function cherche() {

var a1,a2,a3,a4,a5,a6,a7,a8,a9;

for (var s=45; s<=maxi; s++) { for (a1=1; a1<s; a1++) { for (a2=1; a2<s-a1; a2++) {

if (a2!=a1) { a3=s-a1-a2;

if ((a3!=a1)&&(a3!=a2)) { for (a4=1; a4<s; a4++) {

if ((a4!=a1)&&(a4!=a2)&&(a4!=a3)) { for (a5=1; a5<s-a4; a5++) {

if ((a5!=a4)&&(a5!=a4)&&(a5!=a3)&&(a5!=a2)&&(a5!=a1)) { a6=s-a4-a5;

if ((a6!=a1)&&(a6!=a2)&&(a6!=a3)&&(a6!=a4)&&(a6!=a5)) { for (a7=1; a7<s; a7++) {

if ((a7!=a1)&&(a7!=a2)&&(a7!=a3)&&(a7!=a4)&&(a7!=a5)&&(a7!=a6)) { for (a8=1; a8<s-a7; a8++) {

if ((a8!=a7)&&(a7!=a6)&&(a8!=a5)&&(a8!=a4)&&(a8!=a3)&&(a8!=a2)&&(a8!=a1)) { a9=s-a7-a8;

if ((a9!=a1)&&(a9!=a2)&&(a9!=a3)&&(a9!=a4)&&(a9!=a5)&&(a9!=a6)&&(a9!=a7)&&(a9!=a8)) { if (corrects(a1,a2,a3,a4,a5,a6,a7,a8,a9)) {

trace('trouvé avec ',a1,a2,a3,a4,a5,a6,a7);return true; } }}}}}}}}}}}}}

cherche();

Figure

Updating...

References

Related subjects :