判断素数的方法是许多初学编程的小白遇到的习题,同时也是百度一次的面试题,本文循序渐进,从基本实现到高效实现。
素数的概念
质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数。
方法一
假设一个数n,用2到n-1去除n,如果n被整除,则n不是素数
核心代码如下
public static void main(String[] args) {
int i = 2;
int n = 18;
for(i = 2; i<n; i++){
if(n % i == 0){
System.out.println("不是素数");
break;
}
}
if(i == n){
System.out.println("是素数");
}
}
方法2
假设一个自然数n,用2到n/2去除n,如果n被整除,则n不是素数
核心代码如下
public static void main(String[] args) {
int i = 2;
int n = 47;
for(i = 2; i<=n/2; i++){
if(n % i == 0){
System.out.println("不是素数");
break;
}
}
if(i > n/2){
System.out.println("是素数");
}
}
方法3
假设一个自然数n,用2到根号n去除n如果n被整除,则n不是素数
public static void main(String[] args) {
int i = 2;
int n = 48;
for(i = 2; i<=Math.sqrt(n); i++){
if(n % i ==0){
System.out.println("不是素数");
break;
}
}
if(i > Math.sqrt(n)){
System.out.println("是素数");
}
}
总结
本文是用Java实现的,初学编程的小伙伴如果是用C语言,也是一样的,快去动手写起来吧!
513





