if x is even , then F(x)=x/2 else F(x) = F(F(3x+1))
。证明F(x)
终止所有整数x
。
任何人都可以帮助我。我正在研究“计算机算法基础”。我无法理解如何继续这一点。
答案 0 :(得分:4)
书中有一条暗示你省略了:"考虑形式(2i + 1)2 ^ k - 1的整数并使用归纳"。没有提示,这是一个相当难的问题。
因此,使用提示,请注意您可以为某些i和k写任何数字(2i+1)2^k - 1
。您可以观察到k
是基数2中数字底部的1的数量。
使用此功能,您可以证明F在k
上通过归纳终止。 k = 0的基本情况是立即的,因为(2i+1)2^0 - 1
是偶数。
否则,当k> 0时,(2i+1)2^k - 1
为奇数。然后
F((2i+1)2^k - 1)
= F(F(3((2i+1)2^k - 1)+1))
= F(F(3(2i+1)2^k-2))
= F((3(2i+1)2^k-2)/2) (since k>0)
= F(((6i+3)2^k-2)/2)
= F((2(3i+1)+1)2^{k-1}-1)
通过归纳假设,F((2(3i+1)+1)2^{k-1}-1)
终止,因为k
较小,我们已完成。