已知三角形ABC为锐角三角形,求 sinA + sinB·sin(C/2) 的最大值。
已知三角形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) 的最大值。的更多相关文章
- 【C语言】已知三角形三边长,求三角形面积
一. 数学基础: 已知三角形的三边,计算三角形面积,需要用到海伦公式: 即p=(a+b+c)/2 二. 算法: 输入三个边长,套用海伦公式计算面积,并输出. 可以先判断是否可以构成三角形,即任意两边之 ...
- python应用-已知三角形的边长求他的面积和周长
""" 已知三角形的边长求他的面积和周长 Author:罗万财 Date:2017-3-3 """ import math a=float( ...
- C语言:已知三角形三边长求面积
//已知三角形三边长求面积 #include <stdio.h> #include <math.h> int main() { float a,b,c,p,s; int x=0 ...
- 转 已知两点坐标和半径求圆心坐标程序C++
数学思想:利用圆方程和直线方程 已知两点坐标和半径求圆心坐标程序 #include <iostream> #include <fstream> #include <c ...
- NX二次开发-UFUN已知两个向量方向求夹角角度UF_VEC3_angle_between
NX9+VS2012 #include <uf.h> #include <uf_ui.h> #include <uf_vec.h> #include <uf_ ...
- golang实现已知三角形三点坐标,求三角形面积
代码如下: func GetTriangleAreaByVector(x vector.Vector3,y vector.Vector3,z vector.Vector3) float64 { //根 ...
- ACM题目————已知前序和中序求后序
#include <iostream> #include <cstring> #include <cstdio> using namespace std; ], z ...
- HDU 1710Binary Tree Traversals(已知前序中序,求后序的二叉树遍历)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1710 解题思路:可以由先序和中序的性质得到 : 先序的第一个借点肯定是当前子树的根结点, 那么在 中序 ...
- 已知一棵完全二叉树,求其节点的个数 要求:时间复杂度低于O(N),N为这棵树的节点个数
package my_basic.class_4; public class Code_08_CBTNode { // 完全二叉树的节点个数 复杂度低于O(N) public static class ...
随机推荐
- mysql常用sql语法
一.创建主键的三种方式 1. CREATE TABLE user( uid INT PRIMARY KEY, uname VARCHAR(10), address VARCHAR(20) ) 2. C ...
- PL SQL Developer 13连接Oracle数据库并导出数据
下载 并安装 PL SQL Developer 13,默认支持中文语言 ============================= 注册码: product code: 4vkjwhfeh3ufnqn ...
- Spring最简单构建一个后台{msg:"登录成功",code:200,data:null}
一.简介 {msg:"登录成功",code:200,data:null} 二.两种请求 如果严格msg code data也带"" @RestControlle ...
- 大数据学习(11)—— Hive元数据服务模式搭建
这一篇介绍Hive的安装及操作.版本是Hive3.1.2. 调整部署节点 在Hadoop篇里,我用了5台虚拟机来搭建集群,但是我的电脑只有8G内存,虚拟机启动之后卡到没法操作,把自己坑惨了. Hive ...
- Windows内核开发-5-(2)-内核模式调试
Windows内核开发-5-(2)-内核模式调试 普通用户模式的调试,采取的是给进程添加一个线程来挂起断点,作为一个调试器的线程在进程中使用.照这样来类推,对操作系统调试相当于添加一个进程来限制操作系 ...
- Java基础(一):I/O多路复用模型及Linux中的应用
IO多路复用模型广泛的应用于各种高并发的中间件中,那么区别于其他模式他的优势是什么.其核心设计思想又是什么.其在Linux中是如何实现的? I/O模型 I/O模型主要有以下五种: 同步阻塞I/O:I/ ...
- 算法竞赛中的常用JAVA API :大数类(转载)
5.算法竞赛中的常用JAVA API :大数类 摘要 java中的基础数据类型能存储的最大的二进制数是 2 ^ 63 - 1 对应的十进制数是9223372036854775807(long类型的最大 ...
- iOS开发之Lame编译
前言 为了保证音频格式在多端通用,需要将音频转化为MP3格式,本文讲解了如何使用Shell脚本来编译lame库. 编译脚本 #!/bin/sh CONFIGURE_FLAGS="--disa ...
- go-zero:微服务框架
go-zero 是一个集成了各种工程实践的 Web 和 rpc 框架,它的弹性设计保障了大并发服务端的稳定性,并且已经经过了充分的实战检验. go-zero 在设计时遵循了 "工具大于约定和 ...
- [11 Go语言基础-可变参数函数]
[11 Go语言基础-可变参数函数] 可变参数函数 什么是可变参数函数 可变参数函数是一种参数个数可变的函数. 语法 如果函数最后一个参数被记作 ...T ,这时函数可以接受任意个 T 类型参数作为最 ...