Menu
Coddy logo textTech

Problem

Lekcja 9 z 20 w kursie Zagadki matematyczne w Coddy.

Trójkątne, pięciokątne i sześciokątne (Project Euler, problem #45)

Liczby trójkątne, pięciokątne i sześciokątne są generowane za pomocą następujących wzorów:

Trójkątne  T(n)=n(n+1)/2   1, 3, 6, 10, 15, ...

Pięciokątne  P(n)=n(3n−1)/2   1, 5, 12, 22, 35, ...

Sześciokątne  H(n)=n(2n−1)   1, 6, 15, 28, 45, ...

Można sprawdzić, że T(1)=P(1)=H(1)=1 oraz że T(285) = P(165) = H(143) = 40755.

Znajdź następną liczbę trójkątną, która jest również pięciokątna i sześciokątna

challenge icon

Wyzwanie

Trudny

Napisz funkcję calc, która rozwiązuje problem i zwraca wektor pierwszych trzech rozwiązań. Oznacza to [1, 40755, ...]

Spróbuj swoich sił

#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;
}

Wszystkie lekcje w sekcji Zagadki matematyczne

7Najmniejsza wspólna wielokrotność

WprowadzenieProblem

2Wielokrotności 3 lub 5

ProblemRozwiązanie bez pętli

5Równanie diofantyczne

WprowadzenieProblem

Poćwicz samodzielnie: Kompilator C online