您需要做的是创建一个将小数作为输入的函数/程序,并输出重复取数字小数部分的倒数的结果,直到数字变成整数。
更具体地说,过程如下:
令x为输入
如果x是整数,则将其输出。
否则:。回到2。
是的小数成分,并且等于。是x的地板上,这是最大的整数小于。
测试用例:
0 = 0
0.1 = 1/10 -> 10
0.2 = 1/5 -> 5
0.3 = 3/10 -> 10/3 -> 1/3 -> 3
0.4 = 2/5 -> 5/2 -> 1/2 -> 2
0.5 = 1/2 -> 2
0.6 = 3/5 -> 5/3 -> 2/3 -> 3/2 -> 1/2 -> 2
0.7 = 7/10 -> 10/7 -> 3/7 -> 7/3 -> 1/3 -> 3
0.8 = 4/5 -> 5/4 -> 1/4 -> 4
0.9 = 9/10 -> 10/9 -> 1/9 -> 9
1 = 1
3.14 = 157/50 -> 7/50 -> 50/7 -> 1/7 -> 7
6.28 = 157/25 -> 7/25 -> 25/7 -> 4/7 -> 7/4 -> 3/4 -> 4/3 -> 1/3 -> 3
以0.1为增量的0到1的摘要:0、10、5、3、2、2、2、2、3、4、9、1
这是代码高尔夫球,因此最少的字节获胜。
说明:
- “奖励积分”,无舍入错误
- 应该适用于任何非负有理数(忽略舍入误差)
- 您可以,但不必输出已采取的步骤
- 您可以将输入作为小数,小数或数字对,可以是字符串。
对不起,所有问题,这是我在本网站上的第一个问题。