求 2**2023%1000,即 2的2023次方除以1000的余数 c语言
时间: 2024-01-17 10:17:19 浏览: 170
2的2023次方除1000的余数
以下是C语言实现2的2023次方除以1000的余数的代码:
```c
#include <stdio.h>
int main() {
int factor = 1000; // 1000次方
int bits = 16; // 取值段的位数
int shift = 1 << bits; // 取值段的值,移位计算
int remain = factor % bits; // 剩余的位数
int quant = (factor - remain) / bits; // 取值段的个数
long long result = 1; // 采用长整型保存结果,并初始化为1
for (int i = 0; i < quant; i++) {
result *= shift; // 叠乘每个取值段
result %= factor; // 取模运算
}
result *= 1 << remain; // 叠乘剩余的位数
result %= factor; // 取模运算
printf("2的2023次方除以1000的余数为:%lld\n", result);
return 0;
}
```
输出结果为:2的2023次方除以1000的余数为:376。
阅读全文