c++课程设计 求助 求助 + 重谢
一刀可以把蛋糕分为两个部分,现在给出要分为两部分的面积的比值,希望求出切口的弦的长度。这里当然要假定蛋糕是一个圆,并设其半径为1。例如,输入两部分比值为1:1,切口是直径...
一刀可以把蛋糕分为两个部分,现在给出要分为两部分的面积的比值,希望求出切口的弦的长度。这里当然要假定蛋糕是一个圆,并设其半径为1。例如,输入两部分比值为1:1,切口是直径,长为2;输入1:2,应输出1.9285;输入10:1,应输出1.4145。
提示:计算半弦长,可以利用公式a2=2rh-h2,计算弓形面积,用公式s=0.5*xita*r*r-a*sqrt(r*r-a*a); 其中h是弓形的高,r是半径,xita是圆心角。一个思路是用二分搜索法寻找合适的h,使用该h求得的面积比值符合题目要求 展开
提示:计算半弦长,可以利用公式a2=2rh-h2,计算弓形面积,用公式s=0.5*xita*r*r-a*sqrt(r*r-a*a); 其中h是弓形的高,r是半径,xita是圆心角。一个思路是用二分搜索法寻找合适的h,使用该h求得的面积比值符合题目要求 展开
1个回答
展开全部
知道圆的面积是 3.14*r^2了,还知道弓型面积公式 s=0.5*xita*r*r-a*sqrt(r*r-a*a)
假如比例是 x:y,那么就是 (3.14*r^2 - 0.5*xita*r*r-a*sqrt(r*r-a*a)) / (0.5*xita*r*r-a*sqrt(r*r-a*a)) = x:y 了。
化简一下就知道怎么计算了啊,a是代表什么?公式忘了,懒得推导了。
只是要注意的时,假如将圆分为A,B两块,由于事先不知道A和B那个面积大。
所以最后需要考虑A:B=x:y B:A=x:y两种情况。
笨办法就是都计算一下,肯定有一种情况计算出来的玄长是不合理的,需要剔除掉。
假如比例是 x:y,那么就是 (3.14*r^2 - 0.5*xita*r*r-a*sqrt(r*r-a*a)) / (0.5*xita*r*r-a*sqrt(r*r-a*a)) = x:y 了。
化简一下就知道怎么计算了啊,a是代表什么?公式忘了,懒得推导了。
只是要注意的时,假如将圆分为A,B两块,由于事先不知道A和B那个面积大。
所以最后需要考虑A:B=x:y B:A=x:y两种情况。
笨办法就是都计算一下,肯定有一种情况计算出来的玄长是不合理的,需要剔除掉。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询