当a*b=10,求a^b的最大值?此时a,b各为多少?
a*b=10时,a,b都为实数,求MAX(a^b)
其实能轻易化简得到求MAX(a^(10/a));
在推算过程中a的值,我以0.00001为初始数,1000为终点数,逐个排除算出最大值
c#代码如下:
class Program { static void Main(string[] args) { double max = 0; double a = 0; double tempA = 0; double k = 0.00001; Int64 count = 10000000; while (count > 0) { count--; tempA = tempA + k; double temp = Math.Pow(tempA, 10 / tempA); if (temp > max) { max = temp; a = tempA; } } Console.WriteLine("最大值为:" + max.ToString()); Console.WriteLine("A取:" + a.ToString()); Console.WriteLine("B取:" + (10 / a).ToString()); Console.ReadKey(); } }
最后得出估算结论最大值近似值在39.59左右,其a值近似为自然常数e,e=2.71828182846,代入a,最后e^(10/e)=39.5986256446276, 微大于估算结果。
如果计算机采用e进制效率会更高,3进制会比2进制高,但是制作工艺成本可能就高了。