素数判定水题,秒一波!!!
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.Scanner;
/**
* 题意:一个等差数列,首项为 a , 公差为 b , 求该等差数列中,第 n 个素数。
*
* 解决:暴力素数判断
*
* @author tinyDolphin
*/
public class Main {
/**
* 判断是否为素数 必须熟练,闭着眼睛都能敲出来!!!
*/
private static boolean isPrime(int num) {
if (num == 1) {
return false;
}
for (int index = 2; index * index <= num; index++) {
if (num % index == 0) {
return false;
}
}
return true;
}
public static void main(String[] args) {
Scanner in = new Scanner(new BufferedReader(new InputStreamReader(System.in)));
PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
int inputA;
int inputB;
int inputN;
int count;
// 此处使用 & 而不是 && , 因为三个输入数无论如何,需要被输入。
while (!((inputA = in.nextInt()) == 0 & (inputB = in.nextInt()) == 0 & (inputN = in.nextInt()) == 0)) {
count = 0;
while (count != inputN) {
if (isPrime(inputA)) {
count++;
}
inputA += inputB;
}
// 最后需要减去 多加的一个 inputB
out.println(inputA - inputB);
}
out.flush();
}
}