已知三角形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. SpringBoot: 后台接口文档 - 基于Swagger3

    目录 前言:什么是Swagger 起步:(只需简单的3步) 加载依赖 添加注解@EnableOpenApi 启动SpringBoot,访问Swagger后台界面 配置:基于Java的配置 注解:Swa ...

  2. JAVA学习笔记之基础概念(一)

    一.Java 简介: Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 面向对象程序设计语言和 Java 平台的总称. 由 James Gosling和同 ...

  3. 第七篇 -- 添加CSV Data Set Config

    参考链接:https://blog.csdn.net/vv19910825/article/details/82773220 先来看看我们开启的接口 @RequestMapping(value = & ...

  4. js学习笔记之排序算法的原理及代码

    冒泡排序 比较任何两个相邻的项,如果第一个比第二个大,则交换它们 重复这样的操作,直到排序完成,具体代码如下: let arr = [67,23,11,89,45,76,56,99] function ...

  5. DC-3靶机

    仅供个人娱乐 靶机信息 下载地址:http://www.five86.com/downloads/DC-3.zip 一.主机扫描 arp-scan -l nmap -A -p 1-65535 -sV ...

  6. JS系统函数

    1. parseInt--转为整型 2. parseFloat--转为浮点型 3. Number--转为数字型 4. isFinite()--检测一个值是否为有限值,如果是返回true,否则就是Inf ...

  7. 数据结构——图的深度优先遍历(邻接矩阵表示+java版本)

    ​1.深度优先遍历(DFS) 图的深度优先遍历本质上是一棵树的前序遍历(即先遍历自身,然后遍历其左子树,再遍历右子树),总之图的深度优先遍历是一个递归的过程. 如下图所示,左图是一个图,右图是图的深度 ...

  8. Oracle中使用虚拟表DUAL或XMLTABLE返回顺序数列

    在Oracle中使用虚拟表DUAL或XMLTABLE返回顺序数列 使用DUAL表和CONNECT BY LEVEL的特殊用法,返回一个1-10的顺序数列,示例代码如下: SELECT LEVEL FR ...

  9. 科普—为什么要用ECDSA加签及其数学上的验签证明

    在上文介绍了ECDSA算法流程及模块划分,为了帮助一些小白弄懂啥是ECDSA,特此开一篇科普博文. 一.首先为啥要进行数字签名? 假设Alice要将一份合同m传输给Bob,合同上附有Alice的电子纸 ...

  10. LeetCode通关:哈希表六连,这个还真有点简单

    精品刷题路线参考: https://github.com/youngyangyang04/leetcode-master https://github.com/chefyuan/algorithm-b ...