首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

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

2013-04-12 
hdu 3422 Triangle - 本原勾股数组 (st,(s^2-t^2)/2,(s^2+t^2)/2)题意很简单,给定n,求4*(1..n)为直角三角

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

题意很简单,给定n,求4*(1+..+n)为直角三角形一直角边长的三角形中,周长最小的三角形的斜边和(周长-3),且三边长为整数且三边长无公因子。 ps:因为题目中说是摆小球,所以周长会吧三个顶点都算了两遍。

首先4*(1+...+n)=2n^2+2n,如果一个直角三角形三边长为整数且无公因子,则三个数为本原勾股数组,其通项为(st,(s^2-t^2)/2,(s^2+t^2)/2),所以推导过程如下:

hdu 3422 Triangle - 本原勾股数组 (st,(s^2-t^二)/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;}


热点排行