首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >底层实现

底层实现
EN

Code Golf用户
提问于 2017-05-22 19:04:31
回答 5查看 315关注 0票数 -6

目标:从头开始编写一个floor()函数。

操作就像把浮子转换成字符串一样,并且允许在点后切割所有的点。

所有语言都允许。

不允许使用内置的语言函数(如toInteger())或类似功能,不允许使用强制转换运算符。

因此,您的任务是在不使用强制转换和内置语言函数的情况下实现楼层()函数。

您的函数必须至少支持最大32位整数值(您永远不会收到负值)。

强制浇铸(如somevar as float)和普通浇铸(如(int) somevar)是不允许的,任何内置的函数都不允许,所有其他东西都是不允许的。

获胜者:最短的实现。

EN

回答 5

Code Golf用户

发布于 2017-05-22 19:12:20

C (gcc),57字节

代码语言:javascript
复制
i;int f(float n){for(i=-2147483648;i<=n;i++);return i-1;}

在网上试试! (它花费的时间太长了,所以我将它改为从0开始。

票数 1
EN

Code Golf用户

发布于 2017-05-22 19:13:54

CJam,6字节

代码语言:javascript
复制
q'.%0=

在网上试试!

我找到了几个6字节的解决方案,但我不能做的比这个少。

票数 1
EN

Code Golf用户

发布于 2017-05-24 17:56:46

Javascript,6个字符

代码语言:javascript
复制
x=>~~x

测试:

代码语言:javascript
复制
f = x=>~~x

document.addEventListener('input', event => {
  var x = event.target.valueAsNumber
  document.querySelector('output').textContent = x + " => " + f(x)
})
代码语言:javascript
复制
<input type=number> <output></output>
票数 1
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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