`
1140566087
  • 浏览: 547612 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
博客专栏
2c4ae07c-10c2-3bb0-a106-d91fe0a10f37
c/c++ 入门笔记
浏览量:18074
3161ba8d-c410-3ef9-871c-3e48524c5263
Android 学习笔记
浏览量:309446
Group-logo
J2ME 基础学习课程集
浏览量:17988
A98a97d4-eb03-3faf-af96-c7c28f709feb
Spring 学习过程记录...
浏览量:17193
社区版块
存档分类
最新评论

孪生素数

阅读更多

//孪生素数
//所谓孪生素数指的就是间隔为 2 的相邻素数,
//它们之间的距离已经近得不能再近了,就象孪生兄弟一样。
//最小的孪生素数是 (3, 5),在 100 以内的孪生素数还有
//(5, 7), (11, 13), (17, 19), (29, 31), (41, 43), (59, 61) 和 (71, 73),
//总计有 8 组。但是随着数字的增大,孪生素数的分布变得越来越稀疏,寻找孪生素数也变得越来越困难。
//那么会不会在超过某个界限之后就再也不存在孪生素数了呢?
//孪生素数有无穷多对!这个猜想被称为孪生素数猜想,至今没有被严格证明。
//但借助于计算机我们确实可以找到任意大数范围内的所有孪生素数对。


//孪生素数的判断
public class Title2 {
	
	//判断是否是素数
	public static boolean isPrime(int x){
		for(int i=2;i<x/2;i++){
			if(x%i==0){	//能被整除则不为素数
				return false;
			}
		}
		return true;
	}
	
	//判断相邻的且距离为:2 的两个素数
	public static int twinPrimeNum(int n)
	{
		int sum = 0;	//累加次数
		for(int i=2; i<n; i++)	//最小的素数是:2
		{
			if(isPrime(i) && isPrime(i+2)) sum++;	//在目标值内寻找孪生素数
		}
		
		return sum;		//返回最后的组数
	}

	public static void main(String[] args){
		System.out.println(twinPrimeNum(100));
	}
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics