假设我们有一个数 A。我们必须通过将 A 连续 n 次连接来生成一个大数 X,并找到 X 的模 m 的值。
因此,如果输入类似于 A = 15 n = 3 m = 8,那么输出将是 3,因为数字 x 将是 151515,而 151515 mod 8 = 3。
让我们看看以下实现以获得更好的理解 -
def solve(A, n, m): if A == 0: return 0 an=A c=len(str(A)) c=10**c d=c-1 newmod = d*m val = pow(c,n,newmod)-1 val = (val+newmod) % newmod an = (an*val) % newmod return an // d A = 15 n = 3 m = 8 print(solve(A, n, m))
15, 3, 8输出结果
3