题目大意:
对于给定的n,求当x、y、z均为整数时$sin(x)+sin(y)+sin(z)$的最大值。结果保留到小数点后9位。
解题思路:
如果枚举x、y的话是太暴力了。我们不妨把要求的式子化简一下,利用和差化积公式进行化简:
$sin x + sin y = 2 \times sin(\frac{x+y}{2}) \times cos(\frac{x-y}{2})$
$sin x + sin y + sin z = 2 \times sin(\frac{x+y}{2}) \times cos(\frac{x-y}{2}) + sin(n - x - y)$
化简后从2-n-1枚举x+y的值。
因为x+y的值固定,所以当它的值为偶数时,cos那部分的值最大为1(当x==y时);
而当它的值为奇数时,x-y可以等于1,3,5…n-2,这时加个再判断来取cos那部分的最大值。
Mycode:
1 |
|