方法一
/**
* 判断素数(方法一)
* @param args
*/
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int i = 2;
for (; i < n; i++) {
if (n % i == 0) {
System.out.println(n+ " 不是素数~");
break;
}
}
// 走到这的情况有两种:
// 情况1: n == i
// 情况2: n % i == 0 (不可能是这一种)
if (i == n) {
System.out.println(n + " 是素数");
}
}
方法二 (要比方法一快一倍)
/**
* 判断素数(方法二)
* @param args
*/
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
int n = scanner.nextInt();
int i = 2;
for (; i <= n / 2; i++) {
if (n % i == 0) {
System.out.println(n + " 不是素数");
break;
}
}
// 情况1: i > n / 2
if (i > n / 2) {
System.out.println(n + " 是素数");
}
}
}
方法三(比方法二快一倍)
/**
* 判断素数(方法三)
* @param args
*/
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while(true) {
int n = scanner.nextInt();
int i = 2;
for (; i <= Math.sqrt(n); i++) {
if (n % i == 0) {
System.out.println(n + " 不是素数");
break;
}
}
// i > Math.sqrt(n)
if (i > Math.sqrt(n)) {
System.out.println(n + " 是素数");
}
}
}
求最大公约数
/**
* 最大公约数
* @param args
*/
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
int b = scanner.nextInt();
int c = a % b;
while (c != 0) {
a = b;
b = c;
c = a % b;
}
System.out.println(b + " 是最大公约数!");
}