关于TAOCP第一卷“练习笔记”中出现的练习
TAOCP 第 1 卷“练习笔记”部分中有一个问题,内容如下:
“证明 13^3 = 2197。概括你的答案。(这是一个可怕的问题,作者试图避免) )”。
问题:
你实际上会如何证明这一点? (直接乘法是一种方法,另一种方法可以使用公式(a+b)^3)。该解决方案是否需要使用某种方法来让我们进行某种概括?
这里的概括是什么?
为什么这是一个可怕的问题?
您还知道哪些其他类似的可怕问题?
感谢任何答案。
PS 如果上述问题的陈述使它看起来像一个家庭作业问题,我深表歉意,但事实并非如此。请求人们不要将此标记为家庭作业问题,以便更多人可以给出答案。
There is a question in TAOCP vol 1, in "Notes on Exercises" section, which goes something like:
"Prove that 13^3 = 2197. Generalize your answer. (This is a horrible kind of problem that the author has tried to avoid)."
Questions:
How would you actually go about proving this ? (Direct multiplication is one way, another way could be using formula of (a+b)^3). Does the solution requires using some method that will allow us to make some kind of generalization ?
What is the generalization here ?
Why is this a horrible kind of problem ?
What are some other kind of similar horrible problems that you are aware of ?
Appreciate any answers.
P.S. I apologize if the statement of problem above makes it look like a homework problem, but its not. Request people to not tag this as a homework problem, so that more people can give answers.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我猜他是在暗示也许只是从皮亚诺公理开始证明这一点。然后构造整数,并继续正式证明 13^3 = 2197 是从求幂的定义中得出的自然的、合乎逻辑的结论。
我们可以概括地表明,给定 a 和 b,存在某个整数 c,即 a^b。
这是一个可怕的问题,因为大多数人觉得它无趣。
在分析课程中可以找到类似的问题(以及一些更有趣的问题)。
I'd guess that he's alluding to perhaps proving it starting from just the Peano axioms. Then constructing the integers, and going on to formally show that 13^3 = 2197 is a natural, logical conclusion that flows from the definition of exponentiation.
We could generalize to show that given an a and b, there exists some integer c, that is a^b.
This is a horrible kind of a problem because most people find it uninteresting.
Similar sorts of problems can be found in a course on analysis (along with some greatly more interesting).
我最初是这样考虑的:
n3 = n * n * n
logn(n3) = logn(n*n*n)
logn(n3) = logn(n) + logn(n) + logn(n)
3 = 1 + 1 + 1
3 = 3
这在对数恒等式的使用上看起来相当循环,但考虑到我在算法研究中的进展,这令人感到奇怪的安慰。
I initially considered it as follows:
n3 = n * n * n
logn(n3) = logn(n*n*n)
logn(n3) = logn(n) + logn(n) + logn(n)
3 = 1 + 1 + 1
3 = 3
This seems fairly circular in its use of logarithmic identities, but given where I'm at in my algorithms research, it was oddly comforting.
陷入同一个练习并以这种方式“解决”它:
a^b = mult(i=1 to b) a
经过一番思考,我得出的结论是,这是一个素数分解(13 和 3 都是素数)。查一下费马小定理。
(我知道,这是一个旧线程,但也许这会帮助那些也在寻求此练习答案的人。)
Got stuck at the same exercise and 'solved' it this way:
a^b = mult(i=1 to b) a
After a bit of thinking I came to the conclusion that this is a prime factorization (both 13 and 3 are primes). Look up fermat's little theorem.
(I know, it's an old thread but maybe this'll help somebody who is also seeking an answer to this execise.)