主题:请教一简单题目,帮帮忙.
GAO199675
[专家分:0] 发布于 2006-08-28 20:57:00
每一个素数的倒数都可以化为一个循环小数,例如:1/7可以化为0.(142857),1/13可化为0.(076923)。编程把1997的倒数化为循环小数,并统计出这个循环小数有多少位?
回复列表 (共1个回复)
沙发
moz [专家分:37620] 发布于 2006-08-28 22:13:00
任何有理数的倒数都是一个循环小数.
方法很简单,
把被除数放大10^n倍,取余,直至余数重复为止,循环的次数即为循环小数位数.
n=1997
dim y(n)
i=1
do while i>0
do until i>n
i=i*10
loop
i=i mod n
for j=1 to m
if i=y(j) then
print m-j+1
end
endif
next
if j>m then
m=j
y(m)=i
endif
loop
我来回复