问题
求小于N的最大素数
分析
枚举:从可能的集合中一一列举各元素
枚举过程中需要考虑的问题:
- 给出解空间
- 减少搜索的空间
- 采用合适的搜索顺序
枚举关键字(枚举核心):减少规模
代码实现
1 import java.util.*; 2 3 public class Main{ 4 public static void main(String[] args){ 5 Scanner scanner = new Scanner(System.in); 6 int N = scanner.nextInt(); 7 for(int i=N-1;i>=2;--i){ 8 if(judge(i)){ 9 System.out.println(i); 10 break; 11 } 12 } 13 } 14 public static boolean judge(int n){ 15 for(int i=2;i*i<=n;++i){ 16 if(n%i == 0){ 17 return false; 18 } 19 } 20 return true; 21 } 22 }