Zliczanie
Lekcja 17 z 20 w kursie Zagadki matematyczne w Coddy.
Trójka pitagorejska {a, b, c} tworzy trójkąt prostokątny.
Niech p będzie obwodem trójkąta prostokątnego o bokach o długościach całkowitych, {a, b, c}.
Istnieje dokładnie jedna trójka dla p=12: {3,4,5}, p=24: {6,8,10} oraz dla p=30: {5,12,13}.
Dla p = 120 istnieją dokładnie trzy trójki: {20,48,52}, {24,45,51}, {30,40,50}.
Natomiast dla p=20 nie istnieje żadna trójka.
Dla p≤120 istnieje jedna wartość p z trzema trójkami (p=120), trzy wartości p z dwiema trójkami (p=60,84,90) i dokładnie 13 wartości p z tylko jedną trójką.
Wyzwanie
TrudnyIle wartości p≤1000 ma dokładnie jedną trójkę?
Napisz funkcję count1PythagoreanTripletSolution, która przyjmuje liczbę całkowitą N i zwraca liczbę liczb całkowitych p≤N, dla których istnieje dokładnie jedna całkowitoliczbowa trójka pitagorejska.
Spróbuj swoich sił
#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;
}
Wszystkie lekcje w sekcji Zagadki matematyczne
Poćwicz samodzielnie: Kompilator C online