请按任意键继续...

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  21 随笔 :: 0 文章 :: 2 评论 :: 0 Trackbacks
   下午在学习Bruno的数据结构那本书的散列函数时,碰到了一个神奇的数:
       2654436769
   因为这个数得到了很分散的散列值,不得不感叹数学的妙趣。
附代码段:
    const unsigned int k = 8 * sizeof(unsigned int),
                                 m = 10, a = 2654435769;
   for(unsigned int ui = 1000; ui <= 10001; ++ui)
         {
               std::cout << (ui * a  << ( k - m) ) << " ";
               if((ui - 1000 + 1 ) % 10 == 0)
                       std::cout << std::endl;
         }
    如果想会用计算机解决问题,要把数学当作一门基本功夫。就像要练少林十八
绝技,得先扎好马步。
posted on 2012-11-22 17:03 星哥 阅读(220) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理