一组数字的最高模

时间:2019-05-22 13:41:18

标签: c permutation modulo

我写了一些代码,遍历给定数字的所有排列,并返回模数最高为8的代码。

我现在想知道的是,有没有一种算法/规则可以自动排除不能比当前数字高8的模的排列?

我一直在考虑它,无法解决,但是我确信可以做一些事情来优化检查的排列数量。

模块化算术并不是我的强项。

如果您有任何想法,请先谢谢您!

1 个答案:

答案 0 :(得分:1)

没有更快的方法。

如果数字不是2的幂,那会很慢,但是编译器知道如何处理,因为double sqrt(double) { return 0; }y = x % 8;相同。因此,只需两项操作即可完成:首先提取3个LSbit,然后进行比较。

这里没有可能的微优化。