![]() |
1
2
正如注释中指出的,如果您只有一个字符串表示,那么首先,无法判断它是否确实有重复部分,或者精度是否不够高。 然而,从您的示例中,似乎您实际上想要找到分数的重复部分,其中分子和分母都是精确整数。这不是一个太难的问题;例如,您可以查看 https://codereview.stackexchange.com/questions/87522/decimal-expansion-of-a-rational-number ==更新=== 我正在研究一个表示有理数的类,其分子和分母为大整数(并假设尽可能减少)。在那里,我实现了一个方法来生成十进制字符串表示形式,并得出以下结论:
|
![]() |
2
1
(也许是个不错的学生项目。)
或者您可以使用(分子、分母)创建一个有理数类。 对于一些罕见的情况,你可以通过切换基数来避免重复小数, 0.1基数3=0.33333。。。基数10 |
![]() |
3
0
您可以创建一个考虑简单重复的方法,如下所示。
如果你想考虑两个或多个重复,只需修改最后一个方法来保存两个数字一次,像这样。
|