摘要: 排列组合是常见的一个问题。1. 排列算法这个主要采用递归的方法来解决。具体代码如下:voidswap(int&a,int&b){if(a==b)return;intt=a;a=b;b=t;}voidperm(intarr[],intk,intm){if(k==m){copy(arr,arr+m+1,ostream_iterator<int>(cout,""));cout<<endl;}else{for(inti=k;i<=m;++i){swap(arr[i],arr[k]);perm(arr,k+1,m);swap(arr[i] 阅读全文
posted @ 2012-06-02 16:00 Mr.Rico 阅读(997) 评论(0) 推荐(1)
摘要: 近日在做一个入职练习中,我遇到了随机数的问题,将分析过程做些整理。本文主要讨论大范围内随机数的产生办法,讨论在随机范围内的等概率问题。一、要求1、产生一个比较大的随机数。2、产生的随机数在随机范围内等概率。二、知识背景我们知道在C语言中有 rand ()函数可以提供随机数,rand ()函数的范围为 0 到 32727。我们假定认为 rand ()产生的随机数在 0 到 32727 范围内是等概率的。如果我们需要得到一个小范围内的随机数,比如 0 到 55 之间的随机数,那我们可以采用 rand ()%55。但是对于我们要得到一个更大范围内的随机数,rand ()便满足不了我们的要求。三、探讨 阅读全文
posted @ 2012-06-02 10:20 Mr.Rico 阅读(539) 评论(0) 推荐(0)