题意很简单,给定n,求4*(1+..+n)为直角三角形一直角边长的三角形中,周长最小的三角形的斜边和(周长-3),且三边长为整数且三边长无公因子。 ps:因为题目中说是摆小球,所以周长会吧三个顶点都算了两遍。
首先4*(1+...+n)=2n^2+2n,如果一个直角三角形三边长为整数且无公因子,则三个数为本原勾股数组,其通项为(st,(s^2-t^2)/2,(s^2+t^2)/2),所以推导过程如下:
#include <stdio.h>
int main()
{
long long i,j,n;
while(scanf("%I64d",&n)!=EOF)
{
printf("%I64d %I64d\n",4*n*n+6*n-1,2*n*n+2*n+1);
}
return 0;
}