现在的位置: 首页 > 综合 > 正文

hdu 3422 Triangle – 本原勾股数组 (st,(s^2-t^2)/2,(s^2+t^2)/2)

2013年10月05日 ⁄ 综合 ⁄ 共 328字 ⁄ 字号 评论关闭

题意很简单,给定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;
}

抱歉!评论已关闭.