- 什么是素数?如何求素数?
实现步骤:
①先循环 0 ~ m 之间的每一个数(最外层循环);
②再在大循环内循环 2 ~ m-1 ;
③ 判断外层循环的数是否能被内层循环的数整除,如果整除,则不是素数,跳出循环;
④ 如果循环到它本身才除尽,那么这个数就是素数(因子只有1和它本身);
- for 循环 遍历求解:
import java.util.Scanner;
public class SearchPrime {
/*输入大于10的整数m,找出找出小于m的所有素数并输出,每个数据占4列*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int m =sc.nextInt();
int j=2;
for(int i=0;i<m;i++){
for( j=2;j<i;j++){
//判断2到本身之间可以被整除吗
if(i%j==0){
break;
}
}
//如果循环到它本身,说明2到本身之间没有可以被整除的数,则为素数
if(i==j){
System.out.printf("%6d",i);//格式化输出6位整型
}
}
}
}
- while 循环 遍历求解:
/*输入大于10的整数m,找出找出小于m的所有素数并输出,每个数据占4列*/
import java.util.Scanner;
public class SearchPrime {
/*输入大于10的整数m,找出找出小于m的所有素数并输出,每个数据占4列*/
public static void main(String[] args)
{
int n=0 ,m,k ; //m表示输入的整数
//输入正整数m
Scanner sc = new Scanner(System.in);
m = sc.nextInt();
//找出小于m的所有素数并输出,每个数据占4列
while(n<m){
n++;
k=2; //内层循环:每次都从k=2开始
while(k<n){
if(n%k==0){
break;
}
k++;
}
if(n==k){
System.out.printf("%6d",n);//格式化输出6位整型
}
}
sc.close();
}
}