>

自由软件精神——“自由、开放、分享”。自由软件自诞生之日起,就秉承了学术自由的思想,信奉科学无国界,知识应该全人类共享。

ubuntu精神——人道待人,天下共享连接人人的信念。具有 ubuntu 精神的人心胸开阔,乐于助人,见贤思齐而不忌妒贤能......

随机数产生

给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数。

int rand7()
{
    int i;
    //直到产生6~26之间的数跳出循环
    while((i=rand5()*5+rand5()) > 26) ;
    return (i-3)/3;
}

 

题目:已知rand7() 可以产生 1~7 的7个数(均匀概率),利用rand7() 产生rand10() 1~10(均匀概率)

int rand10() 
{ 
    int temp1; 
    int temp2; 
    do 
    { 
        temp1 = rand7(); 
    }while(temp1>5); 
    do 
    { 
        temp2 = rand7(); 
    }while(temp2>2); 
    return temp1+5*(temp2-1); 
}

Meta

发布: 十二月 1, 2014

作者: Bone Lee 李智华

评论:  

字数统计: 122

下一篇: Top K problem

上一篇: 求解无重复且各位递增的数

Bookmark and Share

Tags

interview

comments powered by Disqus

返回顶部