首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用最短法实现毕达哥拉斯定理

用最短法实现毕达哥拉斯定理
EN

Code Golf用户
提问于 2014-02-05 16:27:00
回答 45查看 6.2K关注 0票数 18

谁不喜欢毕达哥拉斯定理a^2+b^2=c^2?用任何接受值ab并打印出The hypotenuse of this right triangle is c的语言编写最短的方法。将c保持在小数点后的三位。

EN

回答 45

Code Golf用户

发布于 2014-02-05 18:42:54

APL (54)

代码语言:javascript
复制
'The hypotenuse of this right triangle is',3⍕.5*⍨+/⎕*2

测试:

代码语言:javascript
复制
      'The hypotenuse of this right triangle is',3⍕.5*⍨+/⎕*2
⎕:
      9 10
The hypotenuse of this right triangle is 13.454

解释:

  • ⎕*2:将输入中的值提高到第二次幂
  • +/:取之和
  • .5*⍨:将结果提高到0.5次方
  • 3⍕:四舍五入至小数点3位
票数 15
EN

Code Golf用户

发布于 2014-02-05 18:17:53

Python2.7-76个字符

代码语言:javascript
复制
print'The hypotenuse of this right triangle is %.3f'%abs(input()+1j*input())

解释

|a+bi| = \sqrt{a^2 + b^2} = c \\ \implies a^2 + b^2 = c^2

关于低音

的PJ

老师:“你能告诉我什么是低音吗?”LJ:“低音,一个简单的问题。如果昨晚有一个高调的派对,你在报纸上读到了,它叫做”高党新闻“。

票数 10
EN

Code Golf用户

发布于 2014-02-06 15:04:16

剪裁,46个字符

代码语言:javascript
复制
글坼各갠方終加감半方갾밈乘增貶껠矽녆둥긆둹댆뭴뉖멵댶넠닶눠덆둩댲걲늖덨덂건댦땡닦덬뉒걩댲밀⓶

期望输入为两个数字(可以是小数!)被一个空间隔开。

这比APL短,尽管不得不使用一些不方便的技巧。

解释

代码语言:javascript
复制
글坼 | split at space
各 | for each...
  갠方 | to the power of two
終
加 | add
감半方 | to the power of one half
갾밈乘 | multiply by 1000
增貶 | increment, then decrement (kludge for rounding)
껠矽 | insert '.' at 4th-last character position
녆둥긆둹댆뭴뉖멵댶넠닶눠덆둩댲걲늖덨덂건댦땡닦덬뉒걩댲밀⓶ | "The hypotenuse..."
票数 8
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/20115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档