【面試干貨】找出一個偶數能夠表示為兩個素數之和的所有可能情況

【面試干貨】找出一個偶數能夠表示為兩個素數之和的所有可能情況

  • 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.pswp.cn/bicheng/16818.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/16818.shtml
英文地址,請注明出處:http://en.pswp.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;確保數據庫開發的順利進…