文档章节

金蝉素数

 南桥北木
发布于 2017/02/26 20:52
字数 340
阅读 5
收藏 0
点赞 0
评论 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
博文 127
码字总数 23467
作品 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

【转载】Python脚本判断一个数是否为素数的几种方法

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

摩云飞 ⋅ 2013/02/05 ⋅ 0

改进的筛素数法

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

长平狐 ⋅ 2012/12/10 ⋅ 0

改进的筛素数法

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

彭博 ⋅ 2012/04/12 ⋅ 1

筛素数法小结

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

老朱教授 ⋅ 2017/10/01 ⋅ 0

Python进阶系列连载(13)——Python内置高阶函数filter(下)

前言 进阶部分连载继续~ 如果还没看过我的入门连载部分,先看: https://ask.hellobi.com/blog/wangdawei/10288 当然,小编的免费入门课程已经有咯,看过连载的朋友可以看看视频再快速梳理一...

ID王大伟 ⋅ 04/28 ⋅ 0

Python3 欧拉计划 问题46-50

问题41—45参见:https://www.jianshu.com/p/15254f8060e7 46、哥德巴赫的另一个猜想 哥德巴赫曾猜想:每个奇合数可以写成一个素数和一个平方的两倍之和。 9 = 7 + 2×1^2 15 = 7 + 2×2^2 2...

AiFan ⋅ 01/03 ⋅ 0

Eratosthenes 筛选求质数

datacube ⋅ 2016/07/07 ⋅ 0

考研复试系列——第九节 数论基础

考研复试系列——第九节 数论基础 引言 该部分内容来源于 《王道论坛》 。 写个算法,对 2 个小于 1000000000 的输入,求结果。 特殊乘法举例:123 45 = 14 +15 +24 +25 +34+3*5 样例输入: ...

cassiepython ⋅ 2017/03/09 ⋅ 0

HDOJ4548美素数

美素数Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 7741 Accepted Submission(s): 2714 Problem Description   小明对数的研......

zhagoodwell ⋅ 2017/12/11 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

笔试题之Java基础部分【简】【一】

基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io 的语法,虚拟机方面的语法,其他 1.length、length()和size() length针对...

anlve ⋅ 22分钟前 ⋅ 1

table eg

user_id user_name full_name 1 zhangsan 张三 2 lisi 李四 `` ™ [========] 2018-06-18 09:42:06 星期一½ gdsgagagagdsgasgagadsgdasgagsa...

qwfys ⋅ 46分钟前 ⋅ 0

一个有趣的Java问题

先来看看源码: public class TestDemo { public static void main(String[] args) { Integer a = 10; Integer b = 20; swap(a, b); System.out......

linxyz ⋅ 51分钟前 ⋅ 0

十五周二次课

十五周二次课 17.1mysql主从介绍 17.2准备工作 17.3配置主 17.4配置从 17.5测试主从同步 17.1mysql主从介绍 MySQL主从介绍 MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主...

河图再现 ⋅ 今天 ⋅ 0

docker安装snmp rrdtool环境

以Ubuntu16:04作为基础版本 docker pull ubuntu:16.04 启动一个容器 docker run -d -i -t --name flow_mete ubuntu:16.04 bash 进入容器 docker exec -it flow_mete bash cd ~ 安装基本软件 ......

messud4312 ⋅ 今天 ⋅ 0

OSChina 周一乱弹 —— 快别开心了,你还没有女友呢。

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子 :分享吴彤的单曲《好春光》 《好春光》- 吴彤 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :小萝莉街上乱跑,误把我认错成...

小小编辑 ⋅ 今天 ⋅ 8

Java 开发者不容错过的 12 种高效工具

Java 开发者常常都会想办法如何更快地编写 Java 代码,让编程变得更加轻松。目前,市面上涌现出越来越多的高效编程工具。所以,以下总结了一系列工具列表,其中包含了大多数开发人员已经使用...

jason_kiss ⋅ 昨天 ⋅ 0

Linux下php访问远程ms sqlserver

1、安装freetds(略,安装在/opt/local/freetds 下) 2、cd /path/to/php-5.6.36/ 进入PHP源码目录 3、cd ext/mssql进入MSSQL模块源码目录 4、/opt/php/bin/phpize生成编译配置文件 5、 . ./...

wangxuwei ⋅ 昨天 ⋅ 0

如何成为技术专家

文章来源于 -- 时间的朋友 拥有良好的心态。首先要有空杯心态,用欣赏的眼光发现并学习别人的长处,包括但不限于工具的使用,工作方法,解决问题以及规划未来的能力等。向别人学习的同时要注...

长安一梦 ⋅ 昨天 ⋅ 0

Linux vmstat命令实战详解

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令...

刘祖鹏 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部