例如:
- 输入0.70710678118654752440084436210485,输出√(2)/2。
- 输入0.14285714285714285714285714285714,输出1/7。
- 输入0.19626156828141249230433167893337,输出√(7)-√(6)。
- 输入1.11449230058541994398774773036850,输出√(7)-√(6)+√(5)-√(3)+√(2)-1。
请问各位有何方法?
@satgo1546
同意@brayden的观点。
计算机中的浮点数与数学上的无理数不能划等号。
例如π
在数学上是3.1415926...
,在计算机中只能表示有限精度,这就意味着两者是有区别的。
问题中的因果关系被颠倒了。
你可以用1/7
得到计算机中的0.14285714285714285714285714285714
,但是0.14285714285714285714285714285714
不一定与1/7
存在一一对应的关系。
你的题目是错误的. 能用 √(n)
表示的只是无理数中很小的一部分. 我认为我们不能 "将浮点数表示的无理数转化为自然显示"
其次, 这里 "浮点数表示" 也是不对的, 计算机里 浮点数 都是有精度限制的, 不可能准确的表示 所有分数.
所以应该是 用字符串 表示的, 类似 0.(142857)
, ()表示循环. 然后根据此 去求对应的分数, 我觉得还是有可能的.