A problem
Leçon 9 sur 20 du cours Énigmes mathématiques de Coddy.
Triangulaires, pentagonaux, et hexagonaux, (Project Euler, Problème #45)
Les nombres triangulaires, pentagonaux et hexagonaux sont générés par les formules suivantes :
Triangle T(n)=n(n+1)/2 1, 3, 6, 10, 15, ...
Pentagonal P(n)=n(3n−1)/2 1, 5, 12, 22, 35, ...
Hexagonal H(n)=n(2n−1) 1, 6, 15, 28, 45, ...
Il peut être vérifié que T(1)=P(1)=H(1)=1 et que T(285) = P(165) = H(143) = 40755.
Trouvez le prochain nombre triangulaire qui est également pentagonal et hexagonal.
Défi
DifficileÉcrivez une fonction calc qui résout le problème et renvoie un vecteur des trois premières solutions au problème. Cela signifie [1, 40755, ...]
Essayez vous-même
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include "solution.h"
int main() {
int rs = 0;
int* r = calc(&rs);
for (int i = 0; i < rs; i++) {
if (i > 0) printf(" ");
printf("%d", r[i]);
}
printf("\n");
return 0;
}