回 帖 发 新 帖 刷新版面

主题:请教一简单题目,帮帮忙.

每一个素数的倒数都可以化为一个循环小数,例如:1/7可以化为0.(142857),1/13可化为0.(076923)。编程把1997的倒数化为循环小数,并统计出这个循环小数有多少位?

回复列表 (共1个回复)

沙发

任何有理数的倒数都是一个循环小数.

方法很简单,
把被除数放大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

我来回复

您尚未登录,请登录后再回复。点此登录或注册