用C语言写代码:求整形数的许可范围内的梅森素数,要求定义函数prime(n)判断n是否为素数。(假设n是素数,如果2的n次方-1,也是素数,那么2的n次方-1 是梅森素数。例如:n=3,2的3次方-1=7,7是素数,则7是梅森素数。)
时间: 2024-05-05 08:20:11 浏览: 16
```c
#include <stdio.h>
#include <math.h>
int prime(int n){
int i;
for(i=2;i<=sqrt(n);i++){
if(n%i==0)
return 0;
}
return 1;
}
int main(){
int i,n;
printf("请输入一个整数n:");
scanf("%d",&n);
printf("%d以内的梅森素数有:\n",n);
for(i=2;i<=n;i++){
if(prime(i) && prime(pow(2,i)-1))
printf("%d ",pow(2,i)-1);
}
return 0;
}
```
相关问题
求整形数的许可范围内的梅森素数,要求定义函数prime(n)判断n是否为素数。(假设n是素数,如果2的n次方-1,也是素数,那么2的n次方-1 是梅森素数。例如:n=3,2的3次方-1=7,7是素数,则7是梅森素数。)
def prime(n):
if n<2:
return False
for i in range(2,int(n**0.5)+1):
if n%i == 0:
return False
return True
def mersenne_prime(n):
p = 2**n-1
if prime(p):
return p
else:
return None
def range_mersenne_prime(n):
result = []
for i in range(2,n+1):
p = mersenne_prime(i)
if p:
result.append(p)
return result
print(range_mersenne_prime(20)) # 求20以内的梅森素数
用C语言编译:求n < 20的梅森素数
好的,对于求n < 20的梅森素数,可以使用以下代码:
```
#include <stdio.h>
#include <math.h>
int main()
{
int n = 20; // 求n < 20的梅森素数
int i, j, a;
printf("梅森素数:");
for(i = 2; i <= n; i++) {
a = pow(2, i) - 1;
for(j = 2; j <= sqrt(a); j++) {
if(a % j == 0) break;
}
if(j > sqrt(a)) printf("%d ", a);
}
return 0;
}
```
这段代码使用了循环语句和条件语句,在运行时会输出所有的小于20的梅森素数。其中,梅森素数指的是某个素数p对应的2^p-1也是素数的数,例如p=3时,2^3-1=7是一个素数,因此7是一个梅森素数。
相关推荐
![](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)
![](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)