输出指数 n<20 的所有梅森尼数的C语言代码
时间: 2023-12-03 22:47:07 浏览: 108
对任一正整数n,按从小到大的顺序输出所有不超过2^n-1的梅森数-C语言代码
梅森尼数是形如 $M = 2^n - 1$ 的质数,其中 $n$ 为正整数。以下是输出指数 $n<20$ 的所有梅森尼数的C语言代码:
```c
#include <stdio.h>
#include <math.h>
int is_prime(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
for (int n = 2; n < 20; n++) {
int m = pow(2, n) - 1;
if (is_prime(m)) {
printf("%d\n", m);
}
}
return 0;
}
```
在这段代码中,函数 `is_prime` 用于判断一个数是否为质数,使用了简单的质数判断方法。主函数中使用循环计算所有 $n<20$ 的梅森尼数,如果该数是质数,则输出。
阅读全文