已知三角形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. 通过jstack日志分析和问题排查

    简介 jstack用于生成java虚拟机当前时刻的线程快照.线程快照是当前java虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁.死循环 ...

  2. java顺序结构、循环结构、选择结构

    java顺序结构.选择结构.循环结构 顺序结构: 语句与语句之间,框与框之间是从上到下的顺序进行的,它是由若干个依次执行的处理步骤执组成的,它是任何一个算法都不离开的一种基本算法结构. 选择结构: 1 ...

  3. 3分钟搭建一个网站?腾讯云Serverless开发体验

    作为一个开发者,应该都能理解一个网站从开发到上线,要经过很多繁琐的步骤. 编写代码,部署应用,部署数据库,申请域名,申请SSL证书,域名备案,到最终上线起码要几天时间. 作为一个不精通代码的业务玩家, ...

  4. VS Code的插件安装位置改变

    VS Code的相关配置 VS Code的插件安装位置改变 可以通过创建连接,将默认的extensions位置,改变到D盘 Windows 链接彻底解决 vscode插件安装位置问题 mklink / ...

  5. Sql Server备份表,动态生成表名称

    1.常用的数据库备份表语句 SELECT * INTO tableNameNew FROM tableName 2.动态备份表,且备份表名称后面增加三位随机字符和当前日期 1 DECLARE @bak ...

  6. Java 反射(二)运行时获取类的信息

    目录 一.获得类的运行时结构 1. 获得类的名字 2. 获得类的属性 获取属性列表 获取指定属性 3. 获取类的方法 获得类的方法列表 获得指定方法 4. 获得的构造器 获得构造器列表 获得指定构造器 ...

  7. 凯撒密码(Caesar cipher) 详解

    ------------恢复内容开始------------ 最近训练CTF的时候,发现密码学这块的知识不太系统,所以自己接下来会陆陆续续整理出来 就先从古典密码中的凯撒密码说起吧 凯撒密码内容比较简 ...

  8. 重定向">" 及">>"符号的简单运用

    1.command > file 将输出重定向(可理解写入)到 file. 2.command >> file  将输出以追加的方式重定向到 file,也就是写入到 file的尾端. ...

  9. Android开发音视频方向学习路线及资源分享,学完还怕什么互联网寒冬?

    接触Android音视频这一块已经有一段时间了,跟普通的应用层开发相比,的确更花费精力.期间为了学习音视频的录制,编码,处理也看过大大小小的几十个项目.总体感觉就是知识比较零散,对刚入门的朋友比较不友 ...

  10. Vue系列-04-项目1

    路飞学城项目 项目搭建 创建项目目录 # cd 项目目录 # vue init webpack luffy 效果 根据上面的提示,我们已经把vue项目构建好了,接下来我们可以在vscode编辑器中把项 ...