如何将随机范围从1到5变为1到7
stackoverflow上有个经典的面试题讨论,如何将随机范围从1到5变为1到7。
先提供两个算法参考:
int rand7(){ int vals[5][5] = { { 1, 2, 3, 4, 5 }, { 6, 7, 1, 2, 3 }, { 4, 5, 6, 7, 1 }, { 2, 3, 4, 5, 6 }, { 7, 0, 0, 0, 0 } }; int result = 0; while (result == 0) { int i = rand5(); int j = rand5(); result = vals[i-1][j-1]; } return result;}