已知三角形ABC为锐角三角形,求 sinA + sinBsin(C/2) 的最大值。

:Δ := sinA + sinB·sin(C/2)

= sin(B+C) + sinB·sin(C/2)

= sinB·cosC + cosB·sinC + sinB·sin(C/2)

= sinB·[cosC + sin(C/2)] + cosB·sinC

令 m := cosC + sin(C/2),n := sinC,g := (m2 + n2)1/2,由题设知 0 ∠C < Π/2

易知 0 < m,n < g,且有 (m/g)2 +(n/g)2 = 1,可令 cosθ := m/g,sinθ := n/g,0 < ∠θ < Π/2,于是

Δ =  sinB·m + cosB·n = g(sinB·m/g + cosB·n/g) = g·(sinB·cosθ + cosB·sinθ) = g·sin(B+θ) ≤ g

m2 + n2 =  cos2C + 2·cosC·sin(C/2) + sin2(C/2)  + sin2C = 1 + 2·cosC·sin(C/2) + sin2(C/2)

令 x := sin(C/2),则 cosC = cos2(C/2) - sin2(C/2) = 1 - 2x2,于是

f(x) := m2 + n2 =  1 + 2(1 - 2x2)x + x2 = -4x3 + x2 + 2x + 1

f'(x) = -12x2 + 2x + 2 = 2(-6x2 + x + 1) = 2(3x + 1)(-2x + 1)

由 x 的定义可知,0 < x < sin(Π/4) = (21/2)/2,易知

满足 f'(x) = 0 的解只有 x = 1/2,且 f(x) 在 x = 1/2 时取得最大值,即 f(1/2) = -4·1/8 + 1/4 + 1 + 1 = 7/4

由1/2 = sin(C/2),知 ∠C = Π/3

所以当∠C = Π/3 时,g 取得最大值 (7/4)1/2 =   (71/2)/2

此时 sinθ = n/g = (sinC)/g = [(31/2)/2] / [(71/2)/2] = (3/7)1/2

可知 Π/6 < ∠θ < Π/4

令 ∠B + ∠θ = Π/2,可知 Π/4 < ∠B < Π/3

于是再由 ∠A + ∠B = Π - Π/3 = 2Π/3,可知

Π/3 < ∠A < 5Π/12 < Π/2

综上,当∠C = Π/3 时,存在锐角 ∠A 和 ∠B 满足 ∠A + ∠B + ∠C = Π,并使得 sinA + sinBsin(C/2) 取得最大值 (71/2)/2。

已知三角形ABC为锐角三角形,求 sinA + sinB·sin(C/2) 的最大值。的更多相关文章

  1. 【C语言】已知三角形三边长,求三角形面积

    一. 数学基础: 已知三角形的三边,计算三角形面积,需要用到海伦公式: 即p=(a+b+c)/2 二. 算法: 输入三个边长,套用海伦公式计算面积,并输出. 可以先判断是否可以构成三角形,即任意两边之 ...

  2. python应用-已知三角形的边长求他的面积和周长

    """ 已知三角形的边长求他的面积和周长 Author:罗万财 Date:2017-3-3 """ import math a=float( ...

  3. C语言:已知三角形三边长求面积

    //已知三角形三边长求面积 #include <stdio.h> #include <math.h> int main() { float a,b,c,p,s; int x=0 ...

  4. 转 已知两点坐标和半径求圆心坐标程序C++

      数学思想:利用圆方程和直线方程 已知两点坐标和半径求圆心坐标程序 #include <iostream> #include <fstream> #include <c ...

  5. NX二次开发-UFUN已知两个向量方向求夹角角度UF_VEC3_angle_between

    NX9+VS2012 #include <uf.h> #include <uf_ui.h> #include <uf_vec.h> #include <uf_ ...

  6. golang实现已知三角形三点坐标,求三角形面积

    代码如下: func GetTriangleAreaByVector(x vector.Vector3,y vector.Vector3,z vector.Vector3) float64 { //根 ...

  7. ACM题目————已知前序和中序求后序

    #include <iostream> #include <cstring> #include <cstdio> using namespace std; ], z ...

  8. HDU 1710Binary Tree Traversals(已知前序中序,求后序的二叉树遍历)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1710 解题思路:可以由先序和中序的性质得到 : 先序的第一个借点肯定是当前子树的根结点, 那么在 中序 ...

  9. 已知一棵完全二叉树,求其节点的个数 要求:时间复杂度低于O(N),N为这棵树的节点个数

    package my_basic.class_4; public class Code_08_CBTNode { // 完全二叉树的节点个数 复杂度低于O(N) public static class ...

随机推荐

  1. CSP-S 2020

    游记 Day# 游记个鬼啊就在自家学校=-= 早上宿舍待不了,去机房颓废,看了几集猫和老鼠,并且把看门狗军团的流程看完了(真棒),甚至在考试之前把老师给的巧克力也吃完了. 期间zyt学长来摸鱼.他们今 ...

  2. POJ3268-最短路径-反向存边

    因为是单向边,牛儿来回的路径长度并不相同,所以需要用两次dijkstra,一次正向从x开始dijkstra,再将边全部反向存再来一次. 因为是板子题比较良心n比较小,我们就可以用矩阵来存储啦.如果n比 ...

  3. 【洛谷 P2388 阶乘之乘】模拟

    分析 求因数5的个数 AC代码 #include<iostream> using namespace std; int main() { long long n,t,ans=0,s=0; ...

  4. 接口开发---basic auth接口认证

    开发中遇到了basic auth来认证的案例,这里总结一下: Basic Auth简单点说明就是每次请求API时都提供用户的username和password.[base64encode(userna ...

  5. 生成python 依赖文件

    1.生成requirement 文件的两种方式 1. 'pip freeze ' > requirements.txt --会将环境中的依赖包全都加入(不推荐) 2. 项目用到生成依赖 '# 安 ...

  6. 解决proto文件生成pb文件时提示(e.g."message")的问题

    原因:格式不支持 解决办法:去下个notepad,打开方式选择notepad,文件属性的只读取消掉 打开后会发现最下面显示了文件的格式是unix,utf-8 右键红框处,选择转换为windows格式, ...

  7. ASP.NET中Textbox后的必填验证控件RequiredFieldValidator的使用方法。

    制作效果如下: 实现方法: 1. 拖动RequiredFieldValidator控件到相应的textbox后位置,点击属性面板,输入ErroMessage相应信息,更改ForeColor为红色 设置 ...

  8. 比@EnableMongoAuditing功能强大的实现

    问题出现 以前通过@EnableMongoAuditing.@CreateDate.@LastModifiedDate进行实体类创建时间.修改时间的自动管理. 但为了实现多数据源的管理以及切换,自己覆 ...

  9. anyRTC 重磅推出在线实时 K 歌解决方案

    在线音乐领域一直是各大资本巨头投资的热点,从抢占版权到现在的"云上之争", 主流平台的战火从版权资源转向创新领域扩延.而如今,在线K歌正在成为抢占"云音乐"市场 ...

  10. JUC学习笔记(三)

    JUC学习笔记(一)https://www.cnblogs.com/lm66/p/15118407.html JUC学习笔记(二)https://www.cnblogs.com/lm66/p/1511 ...