题目描述:
求解M的N次方的最后三位数(M,N均大于10)。
接口说明
原型:
int GetLast3DigitsOfMN(int M, int N);
输入参数:
int M:M > 10
int N:N > 10
返回值:
M的N次方的最后三位数
解题思路:
思路一:先求M的N次方,然后M^N%1000求最后三位数,但是M的N次方很有可能会溢出,导致输出结果异常或错误。
思路二:思路一不行的话,我们得找到他对应的等效方法,M每乘M就对1000求余,其最后三位数是等效的。
代码如下:
public static int getLast3DigitsOfMN(int M, int N) { int temp=M; for (int i = 1; i < N; i++) { temp=M*temp%1000; } return temp; } }
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-11 13:18:57