A problem
Coddy'nin Matematiksel Bilmeceler kursunda ders 9 / 20.
Üçgensel, beşgensel, ve altıgensel, (Project Euler, Problem #45)
Üçgen, beşgen ve altıgen sayılar aşağıdaki formüllerle üretilir:
Üçgen T(n)=n(n+1)/2 1, 3, 6, 10, 15, ...
Beşgen P(n)=n(3n−1)/2 1, 5, 12, 22, 35, ...
Altıgen H(n)=n(2n−1) 1, 6, 15, 28, 45, ...
T(1)=P(1)=H(1)=1 olduğu ve T(285) = P(165) = H(143) = 40755 olduğu doğrulanabilir.
Aynı zamanda beşgensel ve altıgensel olan bir sonraki üçgen sayısını bulun.
Görev
ZorProblemi çözen ve problemin ilk üç çözümünden oluşan bir vektör döndüren bir calc fonksiyonu yazın. Bu, [1, 40755, ...] anlamına gelir.
Kendin dene
#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;
}