方法一: 找出1至1000以内的质数
质数:只能被1和它本身整除的数,比如10以内的质数: 2 3 5 7,任何的偶数(除2以外)都是非质数以及奇数1不属于质数。
例如:
5/2=2 余1
5/3=1 余2
5/4=1 余1
所以5是质数。
例如:
6/2=3 余0
6/3=2 余0
6/4=1 余2
6/5=1 余1
余数为0,代表能被整除
所以6不是质数。
实现代码
public class Test3 {
public static void main(String[] args) {
//由于偶数中只有2是质数,此处直接将2的值进行输出,如下代码中查找质数时,只需考虑奇数即可
System.out.print(2+" ");
//定义标签
OUT:
//1不是质数,2是质数但是已经打印输出,因此循环中i的值从3开始即可,i+=2是因为在循环中我们不再考虑偶数
for (int i = 3; i <= 1000; i+=2) {
//请补充程序判断i是否是质数并打印i,如果是质数按照 System.out.print(i+" "); 格式进行打印
for (int j = 2; j < i; j++) {
if(i % j == 0) {
//如果i对j求余数等于0说明i不是质数
continue OUT;
}
}
//说明i是质数
System.out.print(i+" ");
}
}
}
实现结果
方法二:输入一个数判断这个数是不是质数
实现代码
import java.util.Scanner;
public class Test4 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int input = sc.nextInt();
boolean flag = true;
for(int i = 2;i<input;i++){
if(input%i==0){
flag = false;
System.out.println(input+"这个数不为质数");
break;
}
}
if(flag){
System.out.println(input+"这个数为质数");
}
}
}
实现结果
方法三:判断1-100所有数是否为质数
实现代码
public class Test5 {
public static void main(String[] args) {
System.out.println(2 + "这是质数");
for (int i = 3; i <= 10; i++) {
boolean flag = true;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
System.out.println(i + "这不是质数");
flag = false;
break;
}
}
if (flag) {
System.out.println(i + "这是质数");
}
}
}
}
实现结果