今天早上我遇到了这个question。
基本上,这个问题是关于必须为6个值创建排列的数据;每一个从1到38不等。
所以,第一次排列将是
1 1 1 1 1 1 [ permutation 1 ]
1 1 1 1 1 2 [ permutation 2 ]
1 1 1 1 1 3... [ permutation 3 ]
稍后以
结束38 38 38 38 38 38 [ permutation 38^^6 ]
输出只由6个嵌套循环创建,每个循环从1到38计数;在最内层循环中,打印6个循环计数器。
现在我想知道背后的数学;出于好奇:
的“功能”是什么任何想法?
答案 0 :(得分:3)
它的作用与基数的变化完全相同(二进制,八进制或十六进制)。 第一个问题只是: 1 * 38 ^ 6 + 2 * 38 ^ 5 + 3 * 38 ^ 4 + 4 * 38 ^ 3 + ... + 6 * 38 ^ 0 第二个逆转: 102382 mod 38 ...递归 的更新强> 让我们假设我们希望将变更10改为基数2:
10/2=5 remainder(modulus) **0**
5/2=2 remainder **1**
2/2=1 remainder **0**
1/2=0 remainder **1**
向后 1010 general给出了M在基数B上的变化,只是将M除以B,其余的将是新基数中的数字