文档章节

金蝉素数

 南桥北木
发布于 2017/02/26 20:52
字数 340
阅读 216
收藏 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;
	
}

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

© 著作权归作者所有

粉丝 1
博文 473
码字总数 88017
作品 0
武汉
私信 提问
加载中

评论(0)

一句”听说..."成就了一部经典,一句“赚钱”,祸害了一代青年

翻了个讨论西游记章节关联的帖子,突然想来起,西游记自打出了大唐边界,后面的绝大多数故事无不是因为,XX听说 唐僧是金蝉长老转生,吃了他的肉能长生不死。 且不谈金蝉长老是谁,估计是个颠...

中山野鬼
2012/07/02
164
4
素数和——mooc《零基础学Java语言》-(浙大翁凯)第四周编程题(1)

问题描述: 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。 现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素...

osc_33f1gguo
2019/05/16
1
0
第4周编程题:零基础学Java

题目内容: 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。 现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素...

osc_y40tpu41
2019/10/04
1
0
每周一课:L11 Sieve of Eratosthenes(11.2)

P11.2 CountSemiprimes Count the semiprime numbers in the given range [a, b]. P11.2 半素数个数 计算区间[a, b]中的半素数的个数 只有1与该数本身这两个正因数的数称为素数。前6个质数分...

AiFan
2019/02/17
0
0
素数序列的生成及其应用(采用了自研的高效算法)

问题: 2000以内的素数有哪些? 她的手机号是素数吗? 思路: 问题归类: 怎样获取n以内的所有素数呢? 怎样高效地判定一个正整数是否为素数呢? 假设已知: 第一个素数是2,第二个素数是3;...

osc_7eikeu4r
2018/04/18
1
0

没有更多内容

加载失败,请刷新页面

加载更多

认知智能技术三大技术体系之认知维度道翰天琼

认知维度技术体系是认知智能三大技术体系(认知维度,类脑模型,万维图普)之一 。认知维度技术体系以中西方哲学思想体系,认知语言学,形式语言学,三体论等思想体系为基础,以划分人类认知...

jackli2020
26分钟前
19
0
Oracle中如何实现分页+排序? 其中遇到的问题,你,注意了嘛???

分页 + 排序 一.简单分页: 需求:分页查询台账表T_ACCOUNT,每页10条记录 分析:我们在ORACLE进行分页查询,需要用到伪列ROWNUM和嵌套查询 我们首先显示前10条记录,语句如下: select rownu...

煌sir
28分钟前
125
0
使用JavaScript获取当前URL? - Get the current URL with JavaScript?

问题: All I want is to get the website URL. 我想要的只是获取网站URL。 Not the URL as taken from a link. 不是从链接获取的URL。 On the page loading I need to be able to grab the ......

技术盛宴
39分钟前
11
0
PHP实战之Cookie会话控制

目录 1. 前言 2. HTTP协议简介及原理 2.1会话控制简介及HTTP浅析 3. COOKIE的使用 3.1 Cookie简介 3.2 cookie使用场景 3.2.1操作cookie思维导图 3.2.2操作cookie代码 3.2.3 setrawcookie的使...

六道木
39分钟前
19
0
Python笔记:批量提取PDF表格数据(每页都含有相同表头的)

现在有一份PDF数据,里面有两页,每页都有相同的数据结构但数据内容不同的数据表(每页都有相同的表头),现在需要使用Python将它批量提取出来。 我们需要使用pdfplumber模块(因为有墙的原因...

tengyulong
51分钟前
29
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部