gpt4 book ai didi

c - 矩阵转置算法算法中的逆模

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:22:39 24 4
gpt4 key购买 nike

我有一个函数

y = ((N * x) / (M * N)) + ((N * x) % (M * N))

其中 M 和 N 是常数(用于矩阵转置)。但是,我需要为 x 解决它。我已经阅读了多个关于扩展欧几里德算法或欧拉反模定理的主题,但即使我最终找到了实现它的方法,一切都表明复杂性会比这高得多。请问有什么建议可以继续吗?

最佳答案

函数简化为

y = (x / M) + N * (x % M).

对于 y这样 0 ≤ y < M * N , 有唯一解

x = (y / N) + M * (y % N),

因为这毕竟是一个转置。证明是通过计算。

  ((x / M) + N * (x % M)) / N + M *  (((x / M)     +  N * (x % M)) % N)
= ((x / M) + N * (x % M)) / N + M * ((((x / M) % N + (N * (x % M)) % N) % N)
= ((x / M) + N * (x % M)) / N + M * (((x / M) % N) % N)
since (N * ...) % N = 0
= ((x / M) + N * (x % M)) / N + M * (x / M)
since 0 ≤ x / M < N
= x % M + M * (x / M)
since 0 ≤ x / M < N and N divides N * (x % M)
= x
by the Euclidean property of / and %.

关于c - 矩阵转置算法算法中的逆模,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33469645/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com