数三角形

来源:互联网 发布:单片机做成mp3 编辑:程序博客网 时间:2024/06/05 07:05

有多少种方法可以从1,2,3,。。。,n中选出3个不同的整数,使得它们为三边长可以组成三角形?比如n=5时有三种方法,即(2,3,4)(2,3,5)(3,4,5)。n=8时有22种方法。


由题设三角形三边为x,y,z

设f(x)为最大边为x的三角形个数(1<=x<=n)

又三边各不相同所以:y+z>x==>z>x-y   所以 x-y<z<x;

则易知:

y=1 f(x)=0         

y=2 f(x)=1

y=3 f(x)=2

.

.

y=x-1 f(x)=x-2

则共有三角形((x-1)(x-2))/2个

由所有三角形都算了两遍,且存在y=z的情况

当y=z

有z最小值x-y+1;

当z(min)<=y时会有一个z=y的出现,即

x-y+1<=y      ====>     ((x+1)/2)<=y

即有多少个y满足以上不等式就有多少种y=z的情况

又知y有最大值x-1所以共有x-1-(x-1)/2+1个即 (x-1)/2个;

所以f(x)=((x-1)(x-2)/2-(x-1)/2)/2个


程序略。

原创粉丝点击