【发布时间】:2010-10-09 04:20:04
【问题描述】:
我正在做 TAOCP 第 1 卷第 3 版的练习,但无法理解以下练习答案中使用的语法。
第 1 章练习 8
通过指定 Tj,sj,aj,b 计算正整数 m & n 的最大公约数j
让您的输入由字符串 ambn 表示(m a's 后跟 n b's)
答案:
令 A = {a,b,c},N=5。该算法将以字符串 agcd(m,n)
终止 j Tj sj bj aj 0 ab(空) 1 2 删除一个 a 和一个 b,或转到 2。 1(空) c 0 0 在最左边添加 c,返回 0。 2 a b 2 3 将所有 a 更改为 b 3 c a 3 4 将所有 c 更改为 a 4 b b 0 5 如果 b 剩余,重复我难以理解的部分只是如何解释这张表。 此外,当 Knuth 说这将以字符串 agcd(m,n) 结束时——为什么 gcd(m,n) 的上标?
感谢您的帮助!
编辑了更多问题:
什么是 Tj -- 注意 T = Theta
什么是 sj -- 注意 s = phi
您如何解释列 bj 和 aj?
为什么 Knuth 将解决方案中的新符号转换为他没有在文本中解释的示例?只是令人沮丧。谢谢!!!
【问题讨论】:
-
上标是因为字符串将由 "gcd(m,n)" a's 组成。因此,例如,对于 gcd(3,6) = 3,字符串将为“aaa”。
-
现在上标确实有意义——谢谢!