本题有三个版本,仅时间限制和 n\boldsymbol{n}n 的范围不同。
对于任意正整数三元组 (a,b,c)(a,b,c)(a,b,c),称它是一个勾股三元组,当且仅当 a2+b2=c2a^2+b^2=c^2a2+b2=c2 且 a≤b≤ca\le b\le ca≤b≤c。
给定正整数 nnn,输出所有满足 c≤nc\le nc≤n 的勾股三元组,顺序如下:先输出 aaa 较小的,aaa 相等的先输出 bbb 较小的。
一行一个整数 nnn(10≤n≤500010\le n\le500010≤n≤5000)。
形如样例输出。
对于 C++ 语言,输出 (a,b,c)(a,b,c)(a,b,c) 时,可使用 printf("%-8d%-8d%d\n", a, b, c)。
printf("%-8d%-8d%d\n", a, b, c)
14
3 4 5 5 12 13 6 8 10 A total of 3 triples were found.