新足迹

 找回密码
 注册

精华好帖回顾

· Lanshan: 简单易做又好味的手工饼干- Choc Chip 核桃杏仁饼干 (2011-5-30) lanshan · 深深怀念已经因病过世的QQ并秀秀JACKIE最擅长的“忍”术 (2009-7-23) Devil_Star
· 合并贴 (2005-6-24) 燕尾蝶 · liwus川菜系列之:毛血旺 (2012-3-3) liwus
Advertisement
Advertisement
查看: 4880|回复: 2

有JAVASCRIPT大神吗? [复制链接]

发表于 2018-5-5 21:54 |显示全部楼层
此文章由 tibet99 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 tibet99 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我在一个网站上碰到一个题:
给定两个大小一样的圆,输入两个圆心坐标和半径,比如:([0,0],[0,7],5),求两个圆的交叉面积,要求不超过94个字符。
with(Math)circleIntersection=([a,b],[c,d],r)=>(l=hypot(a-c,b-d)/2/r)>1?0:2*r*r*(acos(l)-l*sqrt(1-l*l))|0
上面是我绞尽脑汁想出来的最短的,但还是有104个字符。还有别的办法来减少吗?(注意,函数名不能改,因为测试方案就是调用这个函数名)
请高人指点
Advertisement
Advertisement

发表于 2018-5-30 16:59 |显示全部楼层
此文章由 stevenbian 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 stevenbian 所有!转贴必须注明作者、出处和本声明,并保持内容完整
貌似你这个判断是多余的。

发表于 2018-7-5 17:49 |显示全部楼层
此文章由 bullying520 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 bullying520 所有!转贴必须注明作者、出处和本声明,并保持内容完整
画一个图出来 添加辅助线连接圆的焦点 应该能发现其实相交的面积等于这个玄所对应的半圆的面基减去玄和半径组成的三角的面积 然后再 * 2
所以
(半圆面积-玄三角面积) * 2
把计算面积的公式套一下 看看能不能少于95个字符

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部