Menu
Coddy logo textTech

Counting

Leçon 17 sur 20 du cours Énigmes mathématiques de Coddy.

Un triplet pythagoricien {a, b, c} forme un triangle rectangle. 

Soit p le périmètre d'un triangle rectangle dont les côtés ont des longueurs entières, {a, b, c}.

Il y a exactement un triplet pour p=12 : {3,4,5}, p=24 : {6,8,10} et pour p=30 : {5,12,13}.

Il y a exactement trois triplets pour p = 120 : {20,48,52}, {24,45,51}, {30,40,50}.

En revanche, il n'y a aucun triplet pour p=20.

Pour p≤120, il y a un p avec trois triplets (p=120), trois p avec deux triplets (p=60,84,90), et exactement 13 p avec un seul triplet.

challenge icon

Défi

Difficile

Combien de p≤1000 n'ont qu'un seul triplet ?

Écrivez une fonction count1PythagoreanTripletSolution qui reçoit un entier N, et retourne le nombre d'entiers p≤N qui n'ont qu'un seul triplet pythagoricien entier.

Essayez vous-même

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include "solution.h"

int main() {
    int n;
    if (scanf("%d", &n) != 1) n = 0;
    int r = count1PythagoreanTripletSolution(n);
    printf("%d\n", r);
    return 0;
}

Toutes les leçons de Énigmes mathématiques

5Diophantine Equation

IntroductionA problem

8Pythagorean triplet

IntroductionRight angle triangleCounting