((n % m) + m) % m; 是做什么
时间: 2023-08-31 15:33:21 浏览: 36
### 回答1:
这个表达式的意思是先计算 (n % m) 的值,然后再计算 (m) % m 的值。
其中,"%" 表示取模运算符,它的作用是计算两个数的余数。例如,7 % 3 的结果是 1,因为 7 除以 3 的余数是 1。
这个表达式的结果取决于 n 和 m 的值。如果 n 和 m 都是非负整数,那么这个表达式的结果就是 (n % m) % m。例如,假设 n=7,m=3,那么表达式的结果就是 (7 % 3) % 3,也就是 1 % 3,等于 1。
如果 n 和 m 中有负数,那么这个表达式的结果可能不同。例如,假设 n=-7,m=3,那么表达式的结果就是 (-7 % 3) % 3,也就是 (-1) % 3,等于 -1。
总的来说,这个表达式的作用是计算 n 对 m 取模后的余数,并将其再次对 m 取模。
### 回答2:
表达式 ((n % m) m) % m; 是用来计算一个数 n 对另一个数 m 进行取模运算后,再对结果进行取模运算的结果。
具体来说,先计算 n 对 m 的取模运算,即将 n 除以 m 得到的余数。然后将这个余数与 m 相乘,再进行一次取模运算,结果就是 ((n % m) m) % m。
这个表达式的作用在于将 n 除以 m 的余数视为一个整体,再对其进行取模运算,从而保证结果始终在 0 到 m-1 的取值范围内。
举个例子,假设 n = 10,m = 7。首先计算 10 对 7 的取模运算,得到的余数为 3。然后将余数 3 与 m 相乘,即 3 * 7 = 21。最后再对 21 进行取模运算,结果为 21 对 7 的取模结果为 0。所以 ((10 % 7) 7) % 7 的结果为 0。
也可以这样理解,当 n 对 m 取模后的余数小于 m 时,再对其进行取模运算结果不会改变。因此,((n % m) m) % m 的结果永远为 n 对 m 取模的结果。
总结来说,表达式 ((n % m) m) % m 的作用是保证 n 对 m 的取模运算结果始终在 0 到 m-1 的取值范围内。
### 回答3:
((n % m) m) % m; 表示的是取余运算的嵌套。先将n除以m取余数,再将该余数与m相乘,最后再对m取余数。
假设n和m均为整数,那么((n % m) m) % m 这个表达式的结果就等于 n对m取余数后乘以m,再对m取余数的结果。也就是说,它的含义是将n进行两次取余运算,然后与m进行运算。
这样的嵌套取余运算可能有很多的应用场景。比如,我们可以利用它来实现循环计算某个数的模。在一些算法或密码学中,会用到循环计算模的操作。具体应用的场景可能因问题的不同而不同,所以需要根据具体情况来理解((n % m) m) % m的作用。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)