Considérons un triangle ABC où chaque côté a une longueur entière (un triangle intégral ). Définissez une médiane de ABC comme étant un segment de ligne allant d'un sommet au milieu du côté opposé. Dans la figure ci-dessous, les segments de ligne rouge représentent les médianes. Notez que tout triangle donné a trois médianes.
Soit n un entier positif. Combien de triangles intégraux non dégénérés dont la longueur de chaque côté est inférieure ou égale à n ont au moins une médiane intégrale?
Défi
Écrivez un programme pour calculer le nombre de triangles intégraux avec au moins une médiane intégrale pour une longueur de côté maximale donnée n . L'ordre des longueurs des côtés n'a pas d'importance, c'est-à-dire que <6,6,5> représente le même triangle que <5,6,6> et ne doit être compté qu'une seule fois. Exclure les triangles dégénérés tels que <1,2,3>.
Notation
Le plus grand n pour lequel votre programme peut générer le nombre de triangles en 60 secondes sur ma machine est votre score. Le programme avec le score le plus élevé gagne. Ma machine est une Sony Vaio SVF14A16CLB, Intel Core i5, 8 Go de RAM.
Exemples
Que T ( N ) soit le programme avec l' entrée N .
T(1) = 0
T(6) = 1
T(20) = 27
T(22) = 34
Notez que T (1) = T (2) = T (3) = T (4) = T (5) = 0 car aucune combinaison de côtés intégraux ne donnera une médiane intégrale. Cependant, une fois que nous arrivons à 6, nous pouvons voir que l'une des médianes du triangle <5,5,6> est 4, donc T (6) = 1.
Notez également que T (22) est la première valeur à laquelle le double comptage devient un problème: le triangle <16,18,22> a des médianes 13 et 17 (et 2sqrt (85)).
Calcul des médianes
Les médianes d'un triangle peuvent être calculées par les formules suivantes:
Current top score: Sp3000 - 7000 points - C