Counting
Урок 17 из 20 курса Математические головоломки на Coddy.
Пифагорова тройка {a, b, c} образует прямоугольный треугольник.
Пусть p — периметр прямоугольного треугольника с целочисленными длинами сторон {a, b, c}.
Существует ровно одна тройка для p=12: {3,4,5}, p=24: {6,8,10} и для p=30: {5,12,13}.
Существует ровно три тройки для p = 120: {20,48,52}, {24,45,51}, {30,40,50}.
Напротив, для p=20 троек не существует.
Для p≤120 существует одно значение p с тремя тройками (p=120), три значения p с двумя тройками (p=60,84,90) и ровно 13 значений p только с одной тройкой.
Задание
СложноСколько существует p≤1000 только с одной тройкой?
Напишите функцию count1PythagoreanTripletSolution, которая принимает целое число N и возвращает количество целых чисел p≤N, имеющих только одну целочисленную пифагорову тройку.
Попробуйте сами
#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;
}