C++语言给定数字x,n,用递归的方法求x的n次方,结果对 56789 取模
时间: 2024-04-16 09:27:14 浏览: 93
计算x的n次方
你可以使用递归的方式来计算 x 的 n 次方,并对 56789 取模。下面是一个示例的递归函数实现:
```cpp
#include <iostream>
int power(int x, int n) {
if (n == 0) {
return 1;
} else if (n % 2 == 0) {
int half = power(x, n / 2);
return (half * half) % 56789;
} else {
int half = power(x, (n - 1) / 2);
return (x * half * half) % 56789;
}
}
int main() {
int x = 3;
int n = 5;
int result = power(x, n);
std::cout << x << " raised to the power of " << n << " modulo 56789 is " << result << std::endl;
return 0;
}
```
这个程序中的 `power` 函数使用递归的方式来计算 x 的 n 次方,并对结果取模。当 n 为 0 时,返回结果为 1。当 n 为偶数时,先计算 x 的 n/2 次方,然后将结果平方后再取模。当 n 为奇数时,先计算 x 的 (n-1)/2 次方,然后将结果平方后再与 x 相乘再取模。
在 `main` 函数中,我们定义了一个示例输入 x 和 n,并调用 `power` 函数来计算结果。最后,我们使用 `std::cout` 输出结果到控制台。
你可以根据需要修改 `main` 函数中的 x 和 n 的值来计算不同的 x 的 n 次方,并对结果取模。
阅读全文