大佬们,我来虚心请教一个问题。 按下列要求生成一些长度为 10 位的十六进制数。 1 、每一位的范围:根据给定的数位的值限制,每一位的取值范围应该是 1 到该位的最大值。 即:每个位最小为 1 ,且有一个最大数的限制,比如个位限制最大为 4 ,十位限制最大为 5 。用一串数字表示从低位往高位的限制最大值,依次为 4 ,5 ,5 ,5 ,5 ,5 ,5 ,5 ,5 ,7 。 2 、重复元素比例:生成结果中任意两个数对应位的重复元素不超过 30%。 3 、多样性:生成的所有数,相同位上的数字尽可能多样。即个位上应该尽可能均匀的出现 1 到 4 ,避免仅使用 1 到 3 ,未使用 4 的情况。 如何求解出可生成满足上述条件的数字总个数,并枚举出一个符合条件的组合。
如果要求上的 10 位 16 进制变为动态的,比如 n 位 m 进制,每位限制最大值依次为 a1,a2,a3,...,允许的重复率为 p%,如何给出一个通用的计算方案。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.