【问题描述】素数(质数)指的是不能被分解的数,除了1和它本身之外没有其他数能够整除。如果两个素数之差为2,则这两个素数就是孪生素数,例如3和5为孪生素数,5和7为孪生素数。找出1-100之间的所有孪生素数。
【输入形式】无
【输出形式】输出互为孪生素数的两个数,每对1行,用空格隔开。
【样例输入】无
【样例输出】
3 5
5 7
【样例说明】第1行表示3和5为孪生素数,第2行表示5和7为孪生素数
【评分标准】全正确得满分。
public class _1LuanSheng {
public static void main(String[] args) {
for(int i = 2;i <= 100;++i)
{
if(isPrime(i) && isPrime(i+2))
System.out.println(i+" "+(i+2));
}
}
static boolean isPrime(int n) {
if (n <= 1)
return false;
int end = (int) Math.sqrt(n);
// 判断到该数的算术平方根即可
for (int i = 2; i <= end; ++i) {
// 可以整除
if (n % i == 0)
return false;
}
//没有其他因子
return true;
}
}
因为只求到100,所以就直接试除了~