哥德巴赫猜想 Java实现
1.接口实现
package goldbach;
/**
* 输入一个大于6的偶数,请输出这个偶数能被分解为哪两个质数的和。如:10=3+7 12=5+7
* 此为按接口实现类完成
*
* @author GGGXXC
*
*/
public class InterfaceGoldbachGuess {
public static void main(String[] args) {
divideNum(new InterGoldBach(), 100);
} /**
* 将两个数字分成两个,分别判断是不是素数
* @param cp 传入的CheckPrime接口的实现类
* @param target 传入的目标值
*/
public static void divideNum(CheckPrime cp, int target) {
for (int i = 2; i <= target / 2; i++) { if (cp.isPrime(i) && cp.isPrime(100 - i)) {
System.out.println(i + "和" + (target - i));
} } } } /**
* 定义检查一个整数是不是素数的接口
*/
interface CheckPrime {
boolean isPrime(int n);
}
/**
* 采用接口的方式检查某个整数是不是素数
*
* @author GGGXXC
*
*/
class InterGoldBach implements CheckPrime {
public boolean isPrime(int n) { // 这里能加上static吗? int k = 2; while (k <= n / 2) {
if (n % k == 0) {
return false;
}
k++;
}
return true;
}
}
2.封装实现
package goldbach; /**
* 输入一个大于6的偶数,请输出这个偶数能被分解为哪两个质数的和。如:10=3+7 12=5+7
* 此为封装成方法的方式
*
* @author GGGXXC
*
*/
public class Goldbach {
public static void main(String[] args) { int target = 100; for (int i = 2; i <= target / 2; i++) {
boolean ret = isPrime(i) && isPrime(100 - i); if (ret) {
System.out.println(i + "和" + (target - i));
}
} } /**
* 判断传入的数字是不是质数
*
* @param num 需要判断是否是质数的数字
* @return 是质数返回true,不是质数返回false
*/
public static boolean isPrime(int num) { int k = 2; while (k <= num / 2) {
if (num % k == 0) {
return false;
}
k++;
}
return true;
} }
哥德巴赫猜想 Java实现的更多相关文章
- P1579_哥德巴赫猜想(JAVA语言)
题目背景 1742年6月7日哥德巴赫写信给当时的大数学家欧拉,正式提出了以下的猜想:任何一个大于9的奇数都可以表示成3个质数之和.质数是指除了1和本身之外没有其他约数的数,如2和11都是质数,而6不是 ...
- Java实现蓝桥杯算法提高 哥德巴赫猜想
试题 算法提高 哥德巴赫猜想 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 根据所给函数(判断一个整数是否是素数),然后依托该函数,将输入N内的偶数(6-N),输出为两个素数之和( ...
- Java实现哥德巴赫猜想
验证哥德巴赫猜想:任何一个大于 6 的偶数,都能分解成两个质数的和.要求输入一个整数,输出这个 数能被分解成哪两个质数的和. eg : 14 14=3+11 14=7+7 public class T ...
- Java实现 洛谷 P1579 哥德巴赫猜想(升级版)
题目背景 1742年6月7日哥德巴赫写信给当时的大数学家欧拉,正式提出了以下的猜想:任何一个大于9的奇数都可以表示成3个质数之和.质数是指除了1和本身之外没有其他约数的数,如2和11都是质数,而6不是 ...
- *CF2.D(哥德巴赫猜想)
D. Taxes time limit per test 2 seconds memory limit per test 256 megabytes input standard input outp ...
- C#实现哥德巴赫猜想
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Goet ...
- code forces 382 D Taxes(数论--哥德巴赫猜想)
Taxes time limit per test 2 seconds memory limit per test 256 megabytes input standard input output ...
- CF735D Taxes 哥德巴赫猜想\判定素数 \进一步猜想
http://codeforces.com/problemset/problem/735/D 题意是..一个数n的贡献是它的最大的因子,这个因子不能等于它本身 然后呢..现在我们可以将n拆成任意个数的 ...
- Codeforces Round #382 (Div. 2) D. Taxes 哥德巴赫猜想
D. Taxes 题目链接 http://codeforces.com/contest/735/problem/D 题面 Mr. Funt now lives in a country with a ...
随机推荐
- golang 线上项目部署折腾之一
最近自己使用golang折腾了一点东西,可是需要部署到线上才好玩,那么服务器使用了aws,然后使用了docker和没有使用docker部署了一次.简单记录一下过程 aws服务器 为什么使用aws呢,说 ...
- JS编程建议——11:慎重使用伪数组
建议11:慎重使用伪数组JavaScript没有真正的数组,因此typeof运算符不能辨别数组和对象.伪数组在JavaScript中有很高的易用性,程序员不用给它设置维度,而且永远不用担心产生越界错误 ...
- 数学--数论--HDU 5223 - GCD
Describtion In mathematics, the greatest common divisor (gcd) of two or more integers, when at least ...
- 51NOD 2072 装箱问题 背包问题 01 背包 DP 动态规划
有一个箱子容量为 V(正整数,0<=V<=20000),同时有 n 个物品(0<n<=30),每个物品有一个体积(正整数). 现在在 n 个物品中,任取若干个装入箱内,使得箱子 ...
- 《C程序设计语言》 练习1-21
问题描述 编写程序entab,将空格串替换为最少数量的制表符和空格,但要保持单词之间的间隔不变.假设制表符终止位的位置与练习1 - 20的detab程序的情况相同.当使用一个制表符或者一个空格都可以到 ...
- MySQL高级(十三)--- 表锁
前言:锁是计算机协调多个进程或线程并发访问某一资源的机制.在数据库中,除传统的计算机资源(如CPU.RAM.I/O等)的争用外,数据也是一种供许多用户共享的资源.如何保证数据并发访问的一致性.有效性是 ...
- Linux安装maven(详细教程)
一.简介 Maven是意第绪语,意思是“知识的积累者”,最初是为了简化Jakarta Turbine项目中的构建过程.有几个项目,每个项目都有自己的Ant构建文件,所有项目都略有不同.JAR已检入CV ...
- Linux 上搭建 Snort+BASE 入侵检测系统
配置实验环境 由于本人电脑的存储空间不足,无法再承担安装一个虚拟机的开销,因此在阿里云上申请了一个云服务器进行本次实验.服务器配置如下: 1 核 - 2GB 内存 - 40GB 系统盘 操作系统:Ub ...
- JSP+Servlet+JDBC+C3P0实现的人力资源管理系统
项目简介 项目来源于:https://github.com/ruou/hr 本系统基于JSP+Servlet+C3P0+Mysql.涉及技术少,易于理解,适合JavaWeb初学者学习使用. 难度等级: ...
- puamap是什么意思
artists map 定义格式:[puamap代号 名] 相关属性: 1.FIGHT 2.SAFE 安全区域 3.DARK 4.NEEDHOLE 配合mapinfo里 x,y -> x1,y1 ...