Counting
Lección 17 de 20 del curso Acertijos matemáticos de Coddy.
Un triplete pitagórico {a, b, c} forma un triángulo rectángulo.
Sea p el perímetro de un triángulo rectángulo con lados de longitud entera, {a, b, c}.
Hay exactamente un triplete para p=12: {3,4,5}, p=24: {6,8,10} y para p=30: {5,12,13}.
Hay exactamente tres tripletes para p = 120: {20,48,52}, {24,45,51}, {30,40,50}.
Por el contrario, no hay ningún triplete para p=20.
Para p≤120, hay un p con tres tripletes (p=120), tres p con dos tripletes (p=60,84,90) y exactamente 13 p con un solo triplete.
Desafío
Difícil¿Cuántos p≤1000 tienen exactamente una terna?
Escribe una función count1PythagoreanTripletSolution que reciba un entero N y devuelva la cantidad de enteros p≤N que tienen solo una terna pitagórica entera.
Pruébalo tú mismo
#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;
}