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.
Défi
DifficileCombien 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;
}