Counting
Lektion 17 von 20 im Kurs Mathematische Rätsel von Coddy.
Ein pythagoreisches Tripel {a, b, c} bildet ein rechtwinkliges Dreieck.
Sei p der Umfang eines rechtwinkligen Dreiecks mit ganzzahligen Seitenlängen, {a, b, c}.
Es gibt genau ein Tripel für p=12: {3,4,5}, p=24: {6,8,10} und für p=30: {5,12,13}.
Es gibt genau drei Tripel für p = 120: {20,48,52}, {24,45,51}, {30,40,50}.
Im Gegensatz dazu gibt es kein Tripel für p=20.
Für p≤120 gibt es ein p mit drei Tripeln (p=120), drei p mit zwei Tripeln (p=60,84,90) und genau 13 p mit nur einem Tripel.
Aufgabe
SchwerWie viele p≤1000 gibt es mit nur einem Tripel?
Schreiben Sie eine Funktion count1PythagoreanTripletSolution, die eine Ganzzahl N erhält und die Anzahl der Ganzzahlen p≤N zurückgibt, die nur ein ganzzahliges pythagoreisches Tripel besitzen.
Probier es selbst
#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;
}