有一根长150厘米的铁丝,要截成每段长为整数的N段(N不小于2)其中的任意3段不能作为一个三角形的边长。
我去吃饭,一会给你作出来。
当n=3时 共有1406种情况。不好列出来呀。
比如121 、19 、10;129 、19、 2。太多写不了。
这是解题的程序:
#include<iostream.h>
int main()
{ int aa=0,bb=0,cc=0,dd=0;
for(int a=1;a<150;a++)
for(int b=1;b<150;b++)
for(int c=1;c<150;c++)
if((a+b+c==150)&&(a>=b)&&(b>=c))
{
if(!((a+b>c)&&(b-a<c)))
{ aa++ ;
cout<<"a="<<a<<"\t"<<"b="<<b<<"\t"<<"c="<<c<<endl;
}
if(!((b+c>a)&&(c-b<a)))
{ bb++;
cout<<"a="<<a<<"\t"<<"b="<<b<<"\t"<<"c="<<c<<endl;
}
if(!((c+a>b)&&(c-a<b)))
{ cc++ ;
cout<<"a="<<a<<"\t"<<"b="<<b<<"\t"<<"c="<<c<<endl;
}
}
dd=aa+bb+cc;
cout<<"总和为:"<<dd<<endl;
}
我用的是C++做的。n=3时就这么多了。n=4我正在做。
晕,n=4很难做呀。没意思,我又不是数学系的,呵呵,只能帮你这么多了。我还要参加比赛,没空搞这个了。
N最大为8,分割如下:(括号内为去掉的项)
2,2,4,6,10,16,(26),42,68
当n=3时,
即要求a+b≤75,是肯定满足条件的。
a有74种可能,当a=74时,b只能等于1;
当a=73时,b只能等于1或2;
以此类推,有这么多种可能性;
1+2+3+···37=703种。
再加上a、b相等的次数:703+36=739次。
所以N=3时,有739次。
N的最大值为:
段数最大为9段。吃了饭再来说。。