猿问

如何将浮点数表示的无理数与分数转化为自然显示?

例如:
输入0.70710678118654752440084436210485,输出√(2)/2。
输入0.14285714285714285714285714285714,输出1/7。
输入0.19626156828141249230433167893337,输出√(7)-√(6)。
输入1.11449230058541994398774773036850,输出√(7)-√(6)+√(5)-√(3)+√(2)-1。
请问各位有何方法?
素胚勾勒不出你
浏览 488回答 2
2回答

蓝山帝景

你的题目是错误的.能用√(n)表示的只是无理数中很小的一部分.我认为我们不能"将浮点数表示的无理数转化为自然显示"其次,这里"浮点数表示"也是不对的,计算机里浮点数都是有精度限制的,不可能准确的表示所有分数.所以应该是用字符串表示的,类似0.(142857),()表示循环.然后根据此去求对应的分数,我觉得还是有可能的.

潇潇雨雨

@satgo1546同意@brayden的观点。计算机中的浮点数与数学上的无理数不能划等号。例如π在数学上是3.1415926...,在计算机中只能表示有限精度,这就意味着两者是有区别的。问题中的因果关系被颠倒了。你可以用1/7得到计算机中的0.14285714285714285714285714285714,但是0.14285714285714285714285714285714不一定与1/7存在一一对应的关系。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答