判断质数算法

时间:2023-01-09 10:59:21

质数定义:

 质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。

 

其实要获取质数,一般的方法就是过滤,将不是质数直接过滤掉,相对于其他方法简单一点。

下面代码:

 1 import java.util.Scanner;
 2 
 3 /**
 4  * 判断a-b之间有多少个质数,并输出所有质数
 5  * @author downs
 6  * 程序分析:判断质数的方法:取余自己之外的所有数据,并判断是否等于自己
 7  */
 8 public class zhishu {
 9     
10     public static void main(String[] args) {  
11         /* 
12          * 质数:就是素数,只能被1和它自己整除的数 
13          */  
14         int count=0;
15         Scanner s = new Scanner(System.in);
16         System.out.println("请输入第一个数:");
17         int a = s.nextInt();
18         System.out.println("请输入第二个数:");
19         int b = s.nextInt();
20         if(a>b) {
21             System.out.println("请保证第二个数大于第一个");
22         }
23         
24         // for循环遍历101-200  
25         for (int i = a; i <= b; i++) {
26             // 循环嵌套遍历被除数  
27             for (int m = 2; m <= i; m++) {  
28                 // 判断,如果能被不是自己本身之外的数整除,直接跳出循环  
29                 if (i != m && i % m == 0) {  
30                     // 退出循环  
31                     break;  
32                 }  
33                 // 判断,此时该数肯定是素数  
34                 if (i == m && i % m == 0) {  
35                     count++;
36                     // 打印该值  
37                     System.out.println(i);  
38                 }  
39             }  
40         }  
41         if(count !=0) {
42             System.out.println("总共:" + count );
43         }
44         
45     }  
46     
47 }

结果显示:

请输入第一个数:
100
请输入第二个数:
200
结果如下 :
101
103
107
109
113
127
131
137
139
149
151
157
163
167
173
179
181
191
193
197
199
总共:21

如有转载请标出处:https://www.cnblogs.com/downs/p/9186980.html