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;
}
}