【发布时间】:2013-08-04 09:17:18
【问题描述】:
对于给定的b 和N 以及a 的范围,比如(0...n),
我需要找到ans(0...n-1)
哪里,
ans[i] = 没有a's,其中pow(a, b)modN == i
我在这里搜索的是pow(a,b)modN 中可能重复的a 范围,以减少计算时间。
例子:-
如果b = 2N = 3和n = 5
for a in (0...4):
A[pow(a,b)modN]++;
原来如此
pow(0,2)mod3 = 0
pow(1,2)mod3 = 1
pow(2,2)mod3 = 1
pow(3,2)mod3 = 0
pow(4,2)mod3 = 1
所以最终的结果是:
ans[0] = 2 // no of times we have found 0 as answer .
ans[1] = 3
...
【问题讨论】:
-
这个问题来自哪个编码竞赛?
-
请举个例子让我们理解问题。
-
@UchiaItachi 更新了..
-
不确定是否理解您的示例。你写了 pow(3,2)mod3 = 2。但是 pow(3,2) = 9。而 9mod3 = 0。
-
@GerardWalace 哎呀.. 更新了。