若已知生成0~6的rand7(),求生成0~4的rand5(),则一个方法就是不断生成0~7的数,直到这个数满足0~4就返回. int rand5(){ int res; do{ res = rand7(); }); return res; } 现在已知生成0~4的rand5(),求解生成0~6的rand7(),就是想办法利用rand5()去生成0~大于6的数字,可以使用rand5()+rand5()*5,这个式子可以生成0~24的随机数,每个数字的组成只有一种可能,所以是等概率地生成0~24里…