3127 - 直角三角形

题目描述

如果一个三角形的三条边 X,Y,Z ,满足 X^2+Y^2=Z^2,那么这三条边可以构成以 X,Y 为直角边,以 Z 为斜边的直角三角形。比如 3,4,5 三个整数就可以构建出以 3,4 为直角边,以 5 为斜边的直角三角形。

给定整数 N,请编程在 [1,N] 的范围内,找出所有能够构建成直角三角形的整数 X,Y,Z,并使得三个整数满足 1 \le X \lt Y \lt Z \le N

你只需要输出满足条件的 X,Y,Z 共有多少组。

输入

输入一个整数 N

输出

输出满足题意的数据组数。

样例

输入

25

输出

8

输入

70

输出

33

输入

90

输出

47
说明

样例 1 解释

[1,25] 的范围内能找出的满足题意的 X,Y,Z 有如下 8 组。

3 4 5
5 12 13
6 8 10
7 24 25
8 15 17
9 12 15
12 16 20
15 20 25

数据范围

对于 20\% 的数据,1 \le N \le 100

对于 40\% 的数据,1 \le N \le 1000

对于 100\% 的数据,1 \le N \le 30000

标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 8
通过人数 2
金币数量 0 枚
难度 基础


上一题 下一题