我正在研究 C++ 中的有理数类。有理数由两个 int(分子和分母)定义。我想将其正确显示为数字。现在,我确定该数字是“无限”还是有限位数的有理数。
这里有一个小伪代码来说明:
define print_rational(num, denom):
if(isUnlimited(num, denom):
?
else:
//"limited" rational, no problem for them
我想像这样显示无限的数字:打印一次重复数字,然后“...”(例如:1/3 -> 0.3...,1/11 -> 0.09...)
那么,是否有一种算法可以找到将在有理数中重复的数字块?