趣题:用最简单的话来描述一个集合
来源:互联网 发布:集装箱智能装箱软件 编辑:程序博客网 时间:2024/05/22 14:52
定义f(n)的值为将n拆分成若干个2的幂的和,且其中每个数字出现的次数不会超过两次的方案数。规定f(0)=1。
例如,有5种合法的方案可以拆分数字10:1+1+8, 1+1+4+4, 1+1+2+2+4, 2+4+4 和 2+8。因此,f(10)=5。
请用一句最简单的话来描述集合{ f(n)/f(n-1) }。证明你的结论。
注意:答案远比一个递归公式来得精辟,来得巧妙。如果你发现了我们的结论,你会一眼认定它为正确答案。
答案:数列{ f(n)/f(n-1) }以最简形式包含了所有的正有理数。
如果n是奇数(等于2m+1),那么数字1(即2^0)必须出现且只能出现一次。现在的问题就是,2m的拆分方案中有多少个方案不含数字1呢?稍作思考你会立即发现,它就等于f(m),因为m的所有拆分方案的所有数都乘以2后正好与不含1的2m拆分方案一一对应。因此,f(2m+1) = f(m)
如果n是偶数(等于2m),那么数字1要么没有出现,要么恰好出现两次。对于前一种情况,我们有f(m)种可能的方案;第二种情况则有f(m-1)种方案。因此,f(2m) = f(m) + f(m-1)
另外,显然f(k)都是正数。于是,f(2k-1) = f(k-1) < f(k-1)+f(k) = f(2k)
这样,我们可以得到以下三个结论:
结论1:gcd( f(n),f(n-1) ) = 1
证明:对n进行数学归纳。显然gcd( f(1),f(0) ) = gcd(1,1) = 1
假设对于所有小于n的数结论都成立。根据n的奇偶性,下面两式中必有一个成立:
gcd( f(n),f(n-1) ) = gcd( f(2m+1),f(2m) ) = gcd( f(m), f(m)+f(m-1) ) = gcd( f(m),f(m-1) ) = 1
gcd( f(n),f(n-1) ) = gcd( f(2m),f(2m-1) ) = gcd( f(m)+f(m-1), f(m-1) ) = gcd( f(m),f(m-1) ) = 1
结论2:如果f(n+1)/f(n) = f(n'+1)/f(n'),那么n=n'
证明:还是数学归纳法。当max(n,n')=0时结论显然成立,因为此时n=n'=0。
假如对于所有小于n的数结论都成立。由于f(2k-1)<f(2k),那么要想f(n)/f(n-1) = f(n')/f(n'-1),n与n'的奇偶性必须相同,于是可以推出f(m)/f(m-1) = f(m')/f(m'-1),根据归纳我们有m=m',这就告诉我们n=n'。
结论3:对于任何一个有理数r,总存在一个正整数n使得r=f(n)/f(n-1)。
证明:把r写成两个互素的数p和q的比。我们对max(p,q)施归纳。
显然,当p=q=1时结论成立,此时n=1。
不妨设p<q,那么定义r'为p/(q-p)。根据归纳假设,总存在一个数m满足r'=f(m)/f(m-1)。于是r=f(2m+1)/f(2m)。当p>q时同理可证明。
做人要厚道
转贴请注明出处
- 趣题:用最简单的话来描述一个集合
- 来一个最简单的TCP服务器
- 简单工厂模式——使用最简单的需求来完成一个简单工厂模式
- 利用C3P0数据源来作连接池,简单的写一个数据库操作来描述分层思想
- 最长递减子序列 最简单描述
- 整理整理生产者消费者模式,用通俗的话描述
- 用最简单命令杀死一个进程
- 用setInterval来做图片切换最简单源码
- 来一个最简单的Linux下LED提示加载任务模块(Smart3250-LED2)
- java的IO流来实现一个最简单的文件复制
- IoC原理-使用反射/Emit来实现一个最简单的IoC容器
- AngularJS+RestfulAPI+BasicAuth+Python/PHP/Node.JS来实现一个最简单的新闻管理后台
- 在MFC程序中,加入一个cpp文件,如果想要打印输出信息的话,用这个语句最便捷
- 简单思考如何编写描述一个模块
- ANTLR#1:描述一个简单计算器
- 数据库中的范式 Normal Form(用最简单的语言描述!)
- 一个女人用一辈子说的话
- 集合类型要用IS TABLE OF来定义,表示是一个集合。
- 2007年解谜游戏设计大赛作品
- 聆听函数的声音:Mathematica的声音函数试验
- 数学推导之Sex is fun完整版
- 发一份我的课表
- 推荐视频:神奇的大脑 之 三个错觉演示
- 趣题:用最简单的话来描述一个集合
- 当你看到这篇日志时,我已经不在重庆了
- 一段极具创意的视频:《机器人故事》片头动画
- Tupper自我指涉公式:图象里竟然包含式子本身
- 趣题:单位正方形内相互分离的两个小正方形,其边长和小于1
- 绝对是你所见过的最爽的解谜游戏
- 通告:数据库回档至8月20日,部分评论和留言丢失
- Geek的桌面怪物:脑袋跟着你转动的龙
- 猜谜看照片 凤凰、张家界六人五日游照片放出!