Menu
Coddy logo textTech

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 только с одной тройкой.

challenge icon

Задание

Сложно

Сколько существует 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;
}

Все уроки раздела Математические головоломки

5Diophantine Equation

IntroductionA problem

8Pythagorean triplet

IntroductionRight angle triangleCounting