【问题标题】:94 characters one line task, circle-intersection94个字符一行任务,圆-交叉点
【发布时间】:2018-05-05 11:12:28
【问题描述】:

我在这里发现了一个挑战:

https://www.codewars.com/kata/one-line-task-circle-intersection/train/javascript

编写一个函数,获取两个点和两个相同大小圆的半径,并返回两个圆相交的面积。

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

上面说函数不能超过 94 个字符。我已尽力缩短函数,仍然有 104 个字符(函数名称不能更改)。 有什么改进的办法吗?

【问题讨论】:

    标签: javascript geometry intersection


    【解决方案1】:

    我真的认为我的答案是最好的:-)

    with(Math)circleIntersection=([a,b],[c,d],r)=>(-sin(x=2*acos(hypot(a-c,b-d)/2/r))+x)*r*r|0

    【讨论】:

    • 我使用相同的想法。但是使用python,我的代码超出了代码限制:(
    • 至少选择我作为正确答案或其他东西:-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-21
    • 1970-01-01
    • 2015-05-04
    • 2018-03-22
    • 2016-09-02
    相关资源
    最近更新 更多