判断质数算法
质数定义:
质数又称素数。一个大于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