|
本帖最后由 TSC999 于 2023-12-1 09:48 编辑 此题即一个三角形,已知第一边长度与第二边长度之和大于第三边,第一边长度与第三边长度之和大于第二边,证明第二边长度与第三边长度之和大于第一边。
这是个小学生的问题吧? 但是急切之下我却不会证明了。怎样想到这事的?看下面的问题:
从 1, 2, 3, 4, 5, 6, 7, 8, 9,10 中任取 3 个数,使其能构成一个三角形,有几种不同取法?
编程计算如下:
- Clear["Global`*"];
- x = Subsets[{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, {3}];(*从10个不同元素中每次取出3个进行组合*)
- Length[x]
- x;
- k = 0;
- Do[a = x[[i]];(*第 i 个组合的列表*)
- If[a[[1]] + a[[2]] > a[[3]] && a[[1]] + a[[3]] > a[[2]], k++;
- If[k == 3, Print["\[CenterEllipsis]\[CenterEllipsis]\[CenterEllipsis]\[CenterEllipsis]\[CenterEllipsis]\[CenterEllipsis]\[CenterEllipsis]"]\
- , If[(k < 3 || k > 47), Print[k, "-----", a]]]],
- {i, 1, Length[x]}]
Copy the Code
程序运行结果:
问题是,在上面的程序中,只写出了 a[[1]] + a[[2]] > a[[3]] && a[[1]] + a[[3]] > a[[2]], 省去了 && a[[2]] + a[[3]] > a[[1]], 怎么证明可以省掉它?
另外,用软件证明这个不等式的程序如下:
证明失败了,如何改动上面的程序才能证明成功?
另,此题用编程解,有更简单的程序:
- Length@Select[Subsets[Range@10, {3}], Total@# > 2 #[[3]] &]
Copy the Code |
|