【面试干货】找出一个偶数能够表示为两个素数之和的所有可能情况

【面试干货】找出一个偶数能够表示为两个素数之和的所有可能情况

  • 1、实现思想
  • 2、代码实现


💖The Begin💖点点关注,收藏不迷路💖

1、实现思想

功能:通过循环遍历奇数,找出一个大于等于 6 的偶数能够表示为两个素数之和的所有可能情况。

  1. 首先,通过 Scanner 类读取用户输入的偶数,并进行验证确保输入的数值满足要求。
  2. 然后,通过循环遍历奇数 i(从 3 开始递增至 n/2),判断 i(n - i) 是否都是素数。如果是素数,则输出符合要求的素数表示。
  3. 最后,通过静态方法 isPrime 判断一个数是否是素数,若满足条件返回 true,否则返回 false

2、代码实现

代码1:

package csdn; import java.util.Scanner; public class SumOfPrimes { public static void main(String[] args) { // 主函数Scanner s = new Scanner(System.in); // 创建一个 Scanner 对象用于读取输入int n; // 定义变量 n,用于存储用户输入的偶数do {System.out.print("请输入一个大于等于 6 的偶数:"); // 输入大于等于 6 的偶数n = s.nextInt(); // 从控制台读取输入的整数值,并赋给变量 n} while (n < 6 || n % 2 != 0); // 判断输入是否是大于等于 6 的偶数,如果不是,则重新输入for (int i = 3; i <= n / 2; i += 2) { // 循环遍历从 3 到 n/2 的奇数if (isPrime(i) && isPrime(n - i)) { // 判断 i 和 (n-i) 是否都是素数System.out.println(n + " = " + i + " + " + (n - i)); // 输出符合条件的素数表示}}}// 判断是否是素数的函数public static boolean isPrime(int a) { // 定义一个名为 "isPrime" 的静态方法,用于判断一个数是否是素数if (a == 3) { // 如果 a 等于 3,则是素数return true;}for (int i = 2; i <= Math.sqrt(a); i++) { // 循环遍历从 2 到 sqrt(a) 的数if (a % i == 0) { // 如果 a 能被 i 整除,则不是素数return false;}}return true; // 是素数}
}

在这里插入图片描述
在这里插入图片描述

代码2:

package csdn;import java.util.Scanner;
public class SumOfPrimes { public static void main(String[] args) {Scanner s = new Scanner(System.in); // 创建一个 Scanner 对象用于读取用户输入int n;do {System.out.print("请输入一个大于等于 6 的偶数:"); // 提示用户输入一个大于等于 6 的偶数n = s.nextInt(); // 从用户输入中读取一个整数,并赋值给变量 n} while (n < 6 || n % 2 != 0); // 如果输入的数不是大于等于 6 的偶数,则重新输入for (int i = 2; i <= n / 2; i++) { // 使用循环遍历从 2 到 n/2 的数值 iif (isPrime(i) && isPrime(n - i)) { // 判断 i 和 n-i 是否都是素数int j = n - i; // 将 n-i 的值赋给变量 jSystem.out.println(n + " = " + i + " + " + j); // 输出符合条件的素数表示}}}// 判断是否是素数的函数public static boolean isPrime(int a) {if (a == 3) { // 如果判断的数字 a 是 3,直接返回 true,因为 3 是素数return true;}for (int i = 2; i <= Math.sqrt(a); i++) { // 使用循环遍历从 2 到 a 的平方根的数值 iif (a % i == 0) { // 如果 a 能被 i 整除,说明 a 不是素数,返回 falsereturn false;}}return true; // 如果循环结束后没有找到能整除 a 的数,说明 a 是素数,返回 true}
}

在这里插入图片描述

使用一个 for 循环从 2 遍历到 n/2,并通过调用 isPrime 方法来判断当前遍历的数值和 n 减去该数值是否都是素数,如果是,则输出这两个素数的和等于 n 的表达式。

isPrime 方法用于判断一个数值是否为素数。它首先特殊处理了数字 3 是素数的情况,然后使用一个 for 循环从 2 遍历到该数值的平方根,并判断该数值是否能被当前遍历的数值整除,如果能整除,则返回 false,否则返回 true。
在这里插入图片描述


💖The End💖点点关注,收藏不迷路💖

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/16818.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++初阶】auto关键字

目录 1.auto简介 2.auto的使用 1.auto简介 在早期C/C中auto的含义是&#xff1a;使用auto修饰的变量&#xff0c;是具有自动存储器的局部变量&#xff0c;但遗憾的 是一直没有人去使用它&#xff0c;大家可思考下为什么&#xff1f; C11中&#xff0c;标准委员会赋予了auto全…

红队项目PinkysPalace格式字符串缓冲区溢出详解

简介 渗透测试-地基篇 该篇章目的是重新牢固地基&#xff0c;加强每日训练操作的笔记&#xff0c;在记录地基笔记中会有很多跳跃性思维的操作和方式方法&#xff0c;望大家能共同加油学到东西。 请注意&#xff1a; 本文仅用于技术讨论与研究&#xff0c;对于所有笔记中复现的…

视频白平衡没调好怎么补救 视频白平衡调整用哪些参数 会声会影视频制作教程

没有调不好的白平衡&#xff01;如果有&#xff0c;那就是你的方法没用对。无论你的视频发黄还是发蓝&#xff0c;只要掌握本文提供的方法&#xff0c;简单几步就能纠正色偏、校准白平衡。操作很简单&#xff0c;几乎所有人都能够轻松掌握。有关视频白平衡没调好怎么补救&#…

Android 布局中@NULL的使用和代码实现方式详解

文章目录 1、使用场景2、示例代码实现2.1、移除背景2.2 、移除文本2.3、移除布局宽度或高度2.4、移除提示文本2.5、移除图像资源 3、综合示例3.1、布局文件 activity_main.xml3.2、主活动文件 MainActivity.java3.4、资源文件3.5、运行结果 4、优点5、缺点6、综合分析6.1、适用…

.net core web项目部署IIS报错:HTTP 错误 413.1 - Request Entity Too Large

HTTP 错误 413.1 - Request Entity Too Large 解决办法 这个报错的原因是因为IIS配置问题&#xff0c;IIS最大默认配置只有30M&#xff0c;超过30M就会报错 解决办法 在程序中配置能接收最大字节大小 //配置请求头中能最大接收多少数据 //builder.WebHost.UseKestrel(option…

VGG论文解析—Very Deep Convolutional Networks for Large-Scale Image Recognition

VGG论文解析—Very Deep Convolutional Networks for Large-Scale Image Recognition -2015 研究背景 大规模图像识别的深度卷积神经网络 VGG&#xff08;牛津大学视觉几何组&#xff09; 认识数据集&#xff1a;ImageNet的大规模图像识别挑战赛 LSVRC-2014&#xff1a;Image…

485通讯的自动流量控制详细介绍

485通讯的自动流量控制&#xff08;Auto Flow Control&#xff09;是一种简化流量控制过程的方法&#xff0c;使通信设备能够自动调整发送速率&#xff0c;以适应接收端的处理能力。它通过内置的算法或硬件特性来实现&#xff0c;不需要额外的硬件控制信号&#xff08;如RTS/CT…

el-table的懒加载树形结构

el-table树形模式&#xff0c;懒加载的数据保存在multipleTableRef.value.store.states.lazyTreeNodeMap._rawValue multipleTableRef.value.store.states.lazyTreeNodeMap._rawValue默认值为 {} &#xff0c; 也就是没有属性的对象&#xff0c;每展开一个节点&#xff0c;如展…

linux系统——nohup后台运行程序

nohup可以将正在执行程序以后台挂起形式执行&#xff0c;也即为执行结果不打印到终端 具体使用可以&#xff0c;nohup待执行的命令&#xff0c;可以将执行命令结果输出到当前目录的nohup.out文件内 nohup也有其他用法

Linux-Web服务搭建面试题-2

31. 描述在Linux上设置和维护分布式监控系统&#xff08;如Prometheus和Grafana&#xff09;的过程。 在Linux上设置和维护分布式监控系统&#xff08;如Prometheus和Grafana&#xff09;的过程可以分为以下几个步骤&#xff1a; 安装和配置Prometheus&#xff1a; 下载并安装…

MyCat2之分库分表

原理 一个数据库由很多表的构成&#xff0c;每个表对应的不同的业务&#xff0c;垂直切分是指按照业务将表进行分类&#xff0c;分不到不同的数据库上&#xff0c;这样压力就分担到了不同的库上面。 数据分片 数据分片包括里&#xff1a;垂直分片和水平分片&#xff0c;垂直分…

安装依赖报-gyp: No Xcode or CLT version detected!

错误 > node-gyp rebuild No receipt for com.apple.pkg.CLTools_Executables found at /. No receipt for com.apple.pkg.DeveloperToolsCLILeo found at /. No receipt for com.apple.pkg.DeveloperToolsCLI found at /. gyp: No Xcode or CLT version detected! gyp ERR!…

【Spark加速】加大hive表在HDFS存的分片文件大小

配置参数&#xff1a; spark.hadoop.hive.exec.orc.default.stripe.size78643200 spark.hadoop.orc.stripe.size78643200 spark.hadoopRDD.targetBytesInPartition78643200 spark.hadoop.hive.exec.dynamic.partition.modenonstrict spark.sql.sources.partitionOverwriteModed…

【wiki知识库】02.wiki知识库SpringBoot后端的准备

&#x1f4dd;个人主页&#xff1a;哈__ 期待您的关注 目录 一、&#x1f525;今日目标 二、&#x1f4c2;打开SpringBoot项目 2.1 导入所需依赖 2.2修改application.yml配置文件 2.3导入MybatisPlus逆向工程工具 2.4创建一个公用的返回值 2.5创建CopyUtil工具类 2.6创建…

科技与心理学的协同舞蹈

在探讨盲人如何利用如“蝙蝠避障”这样的辅助软件融入日常生活的同时&#xff0c;我们不得不深入触及盲人教育心理学的核心&#xff0c;这一领域致力于理解盲人在学习与成长过程中独特的心理需求与挑战&#xff0c;以及如何通过教育策略激发他们的潜能&#xff0c;促进全面发展…

前端Vue自定义顶部搜索框:实现热门搜索与历史搜索功能

前端Vue自定义顶部搜索框&#xff1a;实现热门搜索与历史搜索功能 摘要&#xff1a; 随着前端开发复杂性的增加&#xff0c;组件化开发成为了提高效率和降低维护成本的有效手段。本文介绍了一个基于Vue的前端自定义顶部搜索框组件&#xff0c;该组件不仅具备基本的搜索功能&am…

powershell脚本批量拉取 git仓库文件

# 定义基础URL和数据库列表 $BASE_URL "http://8.8.11.99:8999/yaya/" $DATABASES "common-service", "bi-system", "erp", "gateway", "pdm", "plm", "public-service", "scm"…

Micro SD封装是什么?

我们了解客户对于Micro SD封装的疑问。在这篇文章中&#xff0c;我们将详细解释Micro SD封装是什么&#xff0c;以及其在存储领域的技术原理和应用情况&#xff0c;帮助客户更好地理解这一技术。 1. Micro SD封装的定义 Micro SD封装是指一种特定尺寸的存储芯片封装方式&#x…

windows 11 23H2更新总是失败解决过程

频繁更新失败的困扰 最近一个月以来 windows 11 系统 23H2 更新总是失败&#xff0c;更新失败会撤销更改: 之后会自动重启系统&#xff0c;但是重启进不去系统&#xff0c;屏幕有背光但是不显示任何内容。 这时候只能长按开机键强制关机。每次出现这种情况我都没办法远程连接到…

大规模团队的数据库开发,如何用OceanBase工具快速建立企业级账号体系

前言 为了让数据库开发的安全性与可靠性得以充分保障&#xff0c;数据库开发工具的管控能力显得尤为关键。构建一个健全的账号体系&#xff0c;能够协助开发团队实现对数据库开发工具的全方位管控&#xff0c;从而有效防范各类数据安全隐患&#xff0c;确保数据库开发的顺利进…