找回密码
 注册
Simdroid-非首页
查看: 110|回复: 4

[讨论]广义斐波那契数

[复制链接]
发表于 2009-4-11 23:22:18 | 显示全部楼层 |阅读模式 来自 天津
本帖最后由 xiezhh 于 2009-4-11 23:25 编辑

有一个学生问我这样一个问题:
       有这样一些数(注意不是数列),它们相邻两位数的和等于其下一位数,比如
101,1011,112,123,1123,224,2246,11235,112358
等,我们不妨称这样的数为广义斐波那契数,这样的数总共有多少个呢?

       我觉得应该从排列组合的角度去解释,可是又没有思路,请各位高手一起想想!

我通过编程倒是能找到这些数,
  1. xy=[];
  2. for x=101:112358
  3.     y=num2str(x);
  4.     x1=y(3:end)';   
  5.     y=str2num(y();
  6.     y=y(1:end-1)+y(2:end);
  7.     y=num2str(y(1:end-1));   
  8.     if isequal(x1,y)
  9.         xy=[xy;x];
  10.     end
  11. end
  12. xy
复制代码
发表于 2009-4-12 01:05:00 | 显示全部楼层 来自 重庆沙坪坝区
Simdroid开发平台
1# xiezhh

在添加一些限定条件之前,无限个
101010101010101010101010.......................
a0a0a0a0a0a0a0a0a0a0a0a0a0...................(a可以取1~9)
回复 不支持

使用道具 举报

 楼主| 发表于 2009-4-12 08:10:00 | 显示全部楼层 来自 天津
10101010...这样的数不满足条件,因为0+1不等于下一位数0
回复 不支持

使用道具 举报

发表于 2009-4-12 23:23:34 | 显示全部楼层 来自 北京
本帖最后由 rocwoods 于 2009-4-13 00:07 编辑

我是这么想的,可以将满足条件的数按前面两个数字分成不同的类(因为每类完全由前面两个数字决定)。即10,11,12,...18;20,...27;...;90
一共有9+8+7...+1 = 45类。含有最多这样数字的类是'10'类,一共有101,1011,10112,101123,1011235,10112358六个数字。可以用循环判断这45类各含有多少个满足条件的数字。结果总和是84个数字。以下是代码:

  1. a = (10:99)';
  2. aa = [floor(a/10),mod(a,10)];
  3. aa = aa(sum(aa,2)<10,;
  4. data = cell(size(aa,1),1);
  5. for k = 1:length(data)
  6.    temp = aa(k,;
  7.    n = 3;
  8.    temp(n) = temp(n-2)+temp(n-1);
  9.    while temp(n-1)+temp(n)<10
  10.        n=n+1;
  11.        temp(n) =  temp(n-2)+temp(n-1);
  12.    end
  13.    data{k} = temp;
  14. end
  15. EveryNum = cellfun(@(x) length(x)-2,data);%每类满足条件的数字的个数
  16. TotalNum = sum(EveryNum)
复制代码

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2009-4-13 08:59:53 | 显示全部楼层 来自 天津河西区
非常感谢!还是rocwoods的思路好,采用分类的思想,先找每一类最长的数,然后用最长的数的位数减2确定每一类有多少个满足条件的数,真是很受启发!
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-7 11:21 , Processed in 0.039168 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表