已知三角形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. Vulnhub -- DC1靶机渗透

    信息收集 开启了 22端口,ssh服务 80,http服务 111,RPC服务 先观察80端口 发现采用的是Drupal的cms 目录爆破: 但是,没有找到可以直接利用的点 登录的页面进行SQL注入即 ...

  2. .net 5+ 知新:【2】 .Net Framework 、.Net 、 .NET Standard的概念与区别

    作为了解历史和眼睛或者过程,我们需要将 .Net Framwork ..Net. .Net Stander几个概念进行下理解. .net 代表跨平台框架,从.net 5开始就统一叫.net,废弃原来的 ...

  3. 前端知识点--CSS overflow 属性

    问题:如何加滚动条? 给div 设置css 样式overflow:scroll div { width:150px; height:150px; overflow:scroll; } -------- ...

  4. Java互联网架构师系统进阶课程 (一)【享学】

    2.线程的并发工具类 Fork-Join 什么是分而治之? 规模为N的问题,N<阈值,直接解决,N>阈值,将N分解为K个小规模子问题,子问题互相对立,与原问题形式相同,将子问题的解合并得到 ...

  5. promise详解 : 实现promise(附实现代码)

    promise then 的特点 : then 函数的返回值是一个 promise, 可以继续调用 then 函数 回调函数 resolve 和 reject 的参数 value /reason, 可 ...

  6. selenium元素定位之 动态id, class元素定位

    1.直接进入正题 如下图, 有些元素每次进入都会刷新, 造成元素无法重复定位 怎么办? "xpath部分属性值"定位方法可以帮到我们 1.包含属性定位 driver.find_el ...

  7. 线性代数期末大总结I

    行列式 n阶行列式的计算: \[\left|\begin{matrix}a_{11} & a_{12} & \cdots & a_{1n} \\a_{21} & a_{ ...

  8. Skywalking-06:OAL基础

    OAL 基础知识 基本介绍 OAL(Observability Analysis Language) 是一门用来分析流式数据的语言. 因为 OAL 聚焦于度量 Service . Service In ...

  9. NOIP 模拟 $34\; \rm Equation$

    题解 \(by\;zj\varphi\) 发现每个点的权值都可以表示成 \(\rm k\pm x\). 那么对于新增的方程,\(\rm x_u+x_v=k\pm x/0\) 且 \(\rm x_u+x ...

  10. Leaflet 中 删除 一个 标记(Marker)

    参考:https://blog.csdn.net/qq_34922009/article/details/81184004 下面是我在Leaflet官方文档所找到的答案 ,希望可以帮助到大家 比如以下 ...