#184. 勾股数计数

勾股数计数

勾股数计数

题目描述

勾股数是很有趣的数学概念。如果三个正整数 a,b,ca,b,c,满足 a2+b2=c2a^2+b^2=c^2,而且 1abc1 \le a \le b \le c,我们就将 a,b,ca, b, c 组成的三元组 (a,b,c)(a,b,c) 称为勾股数。你能通过编程,数数有多少组勾股数,能够满足 cnc \le n 吗?

输入格式

输入一行,包含一个正整数 nn。约定 1n10001 \le n \le 1000

输出格式

输出一行,包含一个整数 CC,表示有 CC 组满足条件的勾股数。

样例输入

样例输入 1

5

样例输入 2

13

样例输出

样例输出 1

1

样例输出 2

3

样例解释

对于第一个样例,输入为 55,表示我们需要找出所有满足 c5c \le 5 的勾股数。通过枚举所有可能的 a,b,ca, b, c 组合,满足 a2+b2=c2a^2+b^2=c^21abc51 \le a \le b \le c \le 5,只有 (3,4,5)(3,4,5) 这一组,因为 32+42=9+16=25=523^2+4^2=9+16=25=5^2。因此输出为 11

数据范围

1n10001 \le n \le 1000