用递归的方法,求四分之一圆的面积
算法上总觉得逻辑不对double overlap(double x1,double y1,double x2,double y2); 这个函数按照题意理解应该是返回一个矩形被圆overlap 的面积。递归的思想就是最简化的自解释,看你写得太复杂了。注意两个实现要点:1. 递归的算法: 比如这里使用最简单的方式就是将矩形S再分为两个矩形S1,S2,返回两个矩形overlap面积之和就是 overlap(S) = overlap(S1) + overlap(S2)2. 递归的出口: a) 如果矩形都在圆内,就返回矩形面积,就是矩形面积计算长x宽 b) 如果矩形都不在圆内,就返回0 c) 题主需要实际验证下,是否需要此出口 :-)
■网友
递归的地方,x2 / 2 应为 (x1 + x2) / 2y2 / 2 应为 (y1 + y2) / 2另外,由于代码里大量出现 X*X + Y * Y \u0026lt;= 1 这样的表达式,应该考虑用宏或者inline函数简化一下。建议将可能用到多次的结果保存下来,可以节省一些时间。那个if(...)goto是多余的,在函数开头已经对矩形是否过小做了判断,这里再对每个小矩形再做判断不但多余而且浪费。
■网友
前辈我是来学习的233
推荐阅读
- 长寿花怎么养护?掌握两大方法,乖乖花开“爆盆”,花香四溢!
- 有啥方法,网站,项目可以自己练习计算广告学
- 直播会成为品牌传播的另一个途径么有哪些可行的方法感觉有戏又没头绪好捉急。
- |邳州市岔河镇探索创新工作方法以“三个凝聚”助力统战工作提质增效
- 小孩|手术矫正要20万,有什么可以不动手术的方法?小孩有点地包天
- 孩子|小孩发烧的处理方法有物理降温与药物退烧!但很多新手父母不会
- 中兴努比亚 Z5 的边框到底有多窄
- 捷径|学会这套方法,考试高分不难高考历史复习有“捷径”
- 高血糖|71岁老人血糖从13.1降回正常,学会他的降糖方法, 你或也可以做到
- 乙肝|有乙肝不要怕,54岁大姐乙肝17年,肝没硬化,她的养肝方法可借鉴