文档章节

金蝉素数

 南桥北木
发布于 2017/02/26 20:52
字数 340
阅读 5
收藏 0

public class Mao {

public static void main(String[] args) {
	for (int i = 100; i <= 9999; i++) {
		boolean ok = f(i);
		if (ok) {
			boolean confirm=g(i);
			if(confirm){
				System.out.println("符合条件:"+i);
			}

		}
	}

}
// 试商判别法

public static boolean f(int l) {

	if (l <= 1) {
		return false;
	}

	int max = (int) Math.sqrt(l);
	for (int i = 2; i < max + 1; i++) {
		if (l % i == 0) {
			return false;
		}
	}

	return true;
}

// 判断条件是否成立
public static boolean g(int n) {
	int m = n;
	String result = String.valueOf(m);
	int length = result.length();
	int a1,a2,a3,a4,a5;
	boolean s1,s2,s3,s4,s5,temp=false,temp1=false,temp2=false,temp3=false;
	  
	if (length == 3) {
		//同时去掉最高位和最低位
		a1=m/10;
		a1=a1%10;
		
		//去掉最低位
		a2=m/10;
		
		//去掉最低位两位
	    a3=m/100;
	    
	    //去掉最高位
	    a4=m%100;
	    
	    //去掉最高位两位
	    a5=m%10;
	    
	    s1=f(a1);
	    s2=f(a2);
	    s3=f(a3);
	    s4=f(a4);
	    s5=f(a5);
	    
	    if(s2&&s3){
	    	temp=true;
	    }
	    
	    if(s4&&s5){
	    	temp1=true;
	    }
	
	    if(s1&&temp1&&temp){
	    	return true;
	    }else{
	    	return false;
	    }
	    
	}
	//判断4位数
	if(length==4){
		//同时去掉最高位和最低位
		a1=m/10;
		a1=a1%100;
		
		//去掉最低位
		a2=m/10;
		
		//去掉最低位两位
	    a3=m/100;
	    
	    //去掉最高位
	    a4=m%1000;
	    
	    //去掉最高位两位
	    a5=m%100;
	    
	    s1=f(a1);
	    s2=f(a2);
	    s3=f(a3);
	    s4=f(a4);
	    s5=f(a5);
		
		
	    if(s2&&s3){
	    	temp2=true;
	    }
	    
	    if(s4&&s5){
	    	temp3=true;
	    }
	
	    if(s1&&temp2&&temp3){
	    	return true;
	    }else{
	    	return false;
	    }
		
	}
	
	return false;
	
}

} //注释:本人觉得计算机程序设计经典题解的答案有掉解,欢迎各位提出不同的答案

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 163
码字总数 27450
作品 0
武汉
高等数学Mathematica实验题——孪生素数的输出(Output of Twin Prime Numbers)

n = 10000;f = {}; For[i = 1, Prime[i] < n, i++,If[Prime[i + 1] == Prime[i] + 2,f = Append[f, {Prime[i], Prime[i + 1]}]]];f...

hpdlzu80100
05/04
0
0
筛素数法小结

筛选素数方法小结:   最简单的筛素数法方法就是从2开始,将所以2的倍数去掉,然后从3开始,将3的倍数去掉,依次进行下去即可。根据这样很容易写出代码,下面代码就是是筛素数法得到100以内...

老朱教授
2017/10/01
0
0
改进的筛素数法

最简单的筛素数法方法就是从2开始,将所以2的倍数去掉,然后从3开始,将3的倍数去掉。根据这样很容易写出代码,下面代码就是是筛素数法得到100以内的素数并保存到primes[]数组中。 //by Mor...

长平狐
2012/12/10
23
0
改进的筛素数法

最简单的筛素数法方法就是从2开始,将所以2的倍数去掉,然后从3开始,将3的倍数去掉。根据这样很容易写出代码,下面代码就是是筛素数法得到100以内的素数并保存到primes[]数组中。 //by Mor...

彭博
2012/04/12
100
1
【转载】Python脚本判断一个数是否为素数的几种方法

质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。素数在数论中有着很重要的地位。比1大但不是素数的数称为合数。1和0既非素数也非合数。质数是与合...

摩云飞
2013/02/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Nexus Repository Manager 搭建私有docker仓库

Nexus Repository Manager 搭建私有docker仓库 2018年05月08日 14:44:23 阅读数:115 1.下载nexus3的镜像: docker pull sonatype/nexus3 2.使用镜像启动一个容器: docker run -d --name n...

linjin200
12分钟前
0
0
大数据技术的发展趋势

大数据领域已经涌现出了大量新的技术,它们成为大数据采集、存储、处理和呈现的有力武器。这些技术下一步将如何发展?它们之中哪些技术 将广为流行?又会诞生哪些新的技术? 技术趋向多样化,...

董黎明
15分钟前
1
0
谷歌浏览器插件入门示例

实现:任何网址实现图片下载和获取当前域名的cookies的json字符串。 图片下载是给小白用的,可以选中批量下载,获取cookies 是为了方便程序员调试用。 获取cookies: git地址: https://gite...

NLGBZJ
16分钟前
2
0
152. Maximum Product Subarray - LeetCode

Question 152. Maximum Product Subarray Solution 题目大意:求数列中连续子序列的最大连乘积 思路:动态规划实现,现在动态规划理解的还不透,照着公式往上套的,这个问题要注意正负,需要...

yysue
17分钟前
0
0
IDEA工具 jdk,tomcat,maven 配置

设置JDK、tomcat、maven的版本 一、JDK      如果下拉列表没有,SDKS ---> + ----> 选择下载的JDK目录 ---> APPLY OK    二、tomcat 三、Maven    四、生成 git 本地创库...

君千殇520
17分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部