import java.util.Scanner; public class Main{ public static void main(String[] args){ int n = new Scanner(System.in).nextInt(); System.out.print(judge(n)); } public static String judge(int n){ if(0 == n || 1==n || 0 >n){ return "no"; } for(int i=2;i<=n/2;i++){ if(0 == n%i){ return "no"; } } return "yes"; } }
没预料到会将1作为测试用例
还以为2是最小的素数已然成为共识
于是随便改了下就加了个等于等于1的条件进去了,AC了就没改了
当然最好是小于等于1都应该返回false,而且也保证了完整性,基本照顾到所有输入情况
毕竟素数首先得是自然数,是大于等于2的数
2是最小的素数!
import java.util.Scanner;
/**
* @author Allen_Hua
* @create_time 创建时间:May 12, 2018 9:00:25 PM 类说明
*/
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
while (scan.hasNext()) {
int n = scan.nextInt();
if (judge(n)) {
System.out.println("yes");
} else {
System.out.println("no");
}
}
}
private static boolean judge(int n) {
// TODO Auto-generated method stub
if (n == 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
}