一、素数定义和判断公式
素数(prime number)又称质数,指在大于1的自然数中,除了1和它本身以外不再有其他因数的数,即只能被1和它本身整除的数。
对于一个数n,如果不是素数,那么一定存在大于1且小于n的因数。因此,只需要从2开始到n-1一个一个地判断是否能够整除n,如果能整除,则n不是素数,否则n是素数。
判断一个数n是否为素数,只需要用这个判断公式:
for(i=2;i
=n)
printf("%d is a prime number.", n);
else
printf("%d is not a prime number.", n);
在这个公式中,i用来表示控制循环,从2开始到n-1。如果n能够被i整除,那么n一定不是素数,跳出循环,输出“不是素数”;否则,继续循环。如果循环结束后i仍然小于n,那么n不是素数;否则,n是素数。
二、如何判断素数——C语言实现
下面是C语言实现如何判断素数的代码:
#include <stdio.h>
int main()
{
int n, i;
printf("Enter a number: ");
scanf("%d", &n);
for(i=2;i
=n)
printf("%d is a prime number.", n);
else
printf("%d is not a prime number.", n);
return 0;
}
运行结果:
Enter a number: 23
23 is a prime number.
三、如何判断素数——Python实现
下面是Python实现如何判断素数的代码:
def is_prime(n):
for i in range(2, n):
if n%i == 0:
return False
return True
n = int(input("Enter a number: "))
if is_prime(n):
print(n, "is a prime number.")
else:
print(n, "is not a prime number.")
运行结果:
Enter a number: 23
23 is a prime number.
四、如何判断素数——C++实现
下面是C++实现如何判断素数的代码:
#include <iostream>
using namespace std;
int main()
{
int n, i;
cout<<"Enter a number: ";
cin>>n;
for(i=2;i
=n)
cout<
<<" is a prime number."<
运行结果:
Enter a number: 23
23 is a prime number.
五、如何判断素数——算法程序实现
下面是一个用算法程序实现如何判断素数的方法:
def is_prime(n):
if n == 1:
return False
elif n == 2:
return True
elif n%2 == 0:
return False
else:
for i in range(3, int(n**0.5)+1, 2):
if n%i == 0:
return False
return True
n = int(input("Enter a number: "))
if is_prime(n):
print(n, "is a prime number.")
else:
print(n, "is not a prime number.")
运行结果:
Enter a number: 23
23 is a prime number.
六、如何判断素数——C语言实现(改进版)
下面是C语言实现如何判断素数的改进版,采用了开方运算减小了运算量:
#include <stdio.h>
#include <math.h>
int main()
{
int n, i, k;
printf("Enter a number: ");
scanf("%d", &n);
k = sqrt(n);
for(i=2;i<=k;i++)
{
if(n%i==0)
break;
}
if(i>k)
printf("%d is a prime number.", n);
else
printf("%d is not a prime number.", n);
return 0;
}
运行结果:
Enter a number: 23
23 is a prime number.
七、如何判断素数——Python实现(改进版)
下面是Python实现如何判断素数的改进版,采用了开方运算减小了运算量:
def is_prime(n):
k = int(n**0.5)
for i in range(2, k+1):
if n%i == 0:
return False
return True
n = int(input("Enter a number: "))
if is_prime(n):
print(n, "is a prime number.")
else:
print(n, "is not a prime number.")
运行结果:
Enter a number: 23
23 is a prime number.
八、如何判断素数——Python实现(公式版)
下面是Python实现如何判断素数的公式版:
import math
def is_prime(n):
if n <= 1:
return False
elif n == 2:
return True
elif n%2 == 0:
return False
else:
for i in range(3, int(math.sqrt(n))+1, 2):
if n%i == 0:
return False
return True
n = int(input("Enter a number: "))
if is_prime(n):
print(n, "is a prime number.")
else:
print(n, "is not a prime number.")
运行结果:
Enter a number: 23
23 is a prime number.