回 帖 发 新 帖 刷新版面

主题:再次提问,简单问题求解

设有一个无限循环小数,形势如下
0.A1 A2 A3 A4.........A35 A1 A2 A3 A4........
其循环部分位置编号为A1-A35,现在在此小数中一次取走所有的奇数位,其他的数位依次向前补位从而形成新的小数(例如取走A1A3,那么原来的A2A4就变为新的A1A3)。不断地取走基数位,在多少次以后又可以形成原来的无限循环小数的形势?

回复列表 (共2个回复)

沙发

数学问题.

板凳

1. 去奇数剩下的是2的次方,次方越高,留得越久。
2. 还原原位,需要的是次方相邻的倍数关系
3. 这是2与35之间的关系

程序:
deflng a-z
s=1
do
   k=k+1
   s=s*2 mod 35
   for i=1 to 35
       if (s*i) mod 35<>(i mod 35) then exit for
   next
loop until i>35
print k

从程序运行的结果看,答案是12,
再回过头来看为什么,
还原第一位的要求是mod 35=1
而且还要求是2的次方数。
找到这个数,假设为n
那么下一个数就是2n, mod 35当然就是2了,
依次类推,位置都还原过来了,
题目的要求就很简单了:
求一个数x,使得2^x mod 35=1
再把程序缩减成:

do
  k=k+1
loop until 2^k mod 35=1

我来回复

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