国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
史密斯數(shù)背後的邏輯
如何在Java中檢查史密斯數(shù)?
範(fàn)例#2
結(jié)論
首頁 Java java教程 Java 中的史密斯數(shù)

Java 中的史密斯數(shù)

Aug 30, 2024 pm 04:28 PM
java

在 Java 中我們有不同類型的功能;史密斯號碼是提供給使用者的功能?;旧希访芩箶?shù)只不過是一個合數(shù)(在數(shù)係中以10為底),其所有數(shù)字之和等於其所有質(zhì)因數(shù)(不包括1)所有數(shù)字之和,這就是所謂的史密斯數(shù)數(shù)字。史密斯數(shù)的另一個名稱是笑話數(shù)。根據(jù)定義,我們可以說,如果滿足條件,所有質(zhì)數(shù)都被自然排除。通常,史密斯數(shù)是根據(jù)使用者要求及其問題陳述的一些要求在數(shù)學(xué)中使用的數(shù)字系統(tǒng)的一個非?;镜淖訖谖?。

開始您的免費軟體開發(fā)課程

網(wǎng)頁開發(fā)、程式語言、軟體測試及其他

史密斯數(shù)背後的邏輯

現(xiàn)在讓我們來看看史密斯數(shù)背後的邏輯如下。

史密斯數(shù)的邏輯很簡單,我們考慮一下下面的數(shù)字,我們就很容易理解如下邏輯了。

範(fàn)例:假設(shè)我們需要檢查給定的數(shù)字是否為史密斯號碼。

給定的數(shù)字是:95

首先,我們要找出 95 的質(zhì)因數(shù)是 19 和 5 (5, 19)

現(xiàn)在求數(shù)字和 9 + 5 = 14

質(zhì)因數(shù)總和為 5 + 1 + 9 = 15

現(xiàn)在比較兩個結(jié)果,看這裡 14 不等於 15。所以給定的數(shù)字不是素數(shù)。

讓我們考慮另一個數(shù)字,如下所示。

給出的數(shù)字:58

先找出 58 = 2 和 29 的質(zhì)因數(shù)

質(zhì)因數(shù)總和 = 2 + 2 +9 = 13

給定數(shù)字的總和 = 5 + 8 = 13

現(xiàn)在比較兩個結(jié)果,這裡兩個結(jié)果是相同的,或者我們可以說是相等的。所以我們可以說給定的數(shù)字是史密斯數(shù)。

這就是史密斯數(shù)背後非常簡單的邏輯,我們只需要比較素數(shù)階乘和與數(shù)字和即可。如果兩個總和相等,則給定的數(shù)字是史密斯數(shù),否則該數(shù)字不是史密斯數(shù)。

如何在Java中檢查史密斯數(shù)?

現(xiàn)在讓我們看看如何在 java 中檢查給定的數(shù)字是否是 smith。

在上面這一點中,我們已經(jīng)討論了史密斯數(shù)的不同範(fàn)例?,F(xiàn)在讓我們來看看尋找史密斯編號的不同步驟,如下所示。

1.首先我們需要初始化或讀取使用者的數(shù)字。

2.之後我們需要找出給定數(shù)字的數(shù)字總和。

3.接下來我們要找出給定數(shù)字的質(zhì)數(shù)因子。

4.現(xiàn)在計算質(zhì)因數(shù)的數(shù)字和。

5.現(xiàn)在比較給定數(shù)字的數(shù)字和與質(zhì)因數(shù)的數(shù)字和。

a.如果兩個和相等,那麼我們可以說給定的數(shù)字是史密斯數(shù)。

b.否則,我們可以認為給定的數(shù)字不是史密斯數(shù),因為總和不同。

所以上述步驟對於用Java實作史密斯數(shù)程式很有用。

範(fàn)例

現(xiàn)在讓我們看看java中史密斯數(shù)的不同範(fàn)例,以便更好地理解,如下。

範(fàn)例#1

代碼:

import java.util.*;
public class Smith_Num
{
static int F_Sum_P_Fact(int no)
{
int j=2, add=0;
while(no>1)
{
if(no%j==0)
{
add=add+F_S_Digit(j);
no=no/j;
}
else
{
do
{
j++;
}
while(!isPrime(j));
}
}
return add;
}
static int F_S_Digit(int no)
{
int sum=0;
while(no>0)
{
sum=sum+no%10;
no=no/10;
}
return sum;
}
static boolean isPrime(int j)
{
boolean b=true;
int d=2;
while(d<Math.sqrt(j))
{
if(j%d==0)
{
b=false;
}
d++;
}
return b;
}
public static void main(String args[])
{
Scanner s_c = new Scanner(System.in);
System.out.print("Enter a number: ");
int no=s_c.nextInt();
int x = F_S_Digit(no);
int y = F_Sum_P_Fact(no);
System.out.println("addition of digit = "+x);
System.out.println("addition of prime factors digits is = "+y);
if(x==y)
System.out.print("The user enterd number is smith number.");
else
System. out.print("The user entered number is not smith number.");
}
}

說明

在上面的程式中,我們嘗試用java實作史密斯數(shù)程式。在這裡,我們首先創(chuàng)建了質(zhì)因數(shù)數(shù)字總和的函數(shù);同樣,我們還創(chuàng)建了函數(shù)來查找給定數(shù)字的數(shù)字總和,如上面的程式所示。之後,我們創(chuàng)建了使用布林函數(shù)檢查給定數(shù)字是否為素數(shù)的函數(shù)。然後我們編寫主函數(shù),在主函數(shù)中我們接受來自使用者的數(shù)字並呼叫我們已經(jīng)創(chuàng)建的所有函數(shù)並比較兩個總和。如果總和相等,則列印給定的數(shù)字為史密斯數(shù),如果總和不相等,則列印給定的數(shù)字不是史密斯數(shù)。我們使用下面的螢?zāi)唤貓D來說明上述程式的最終輸出。

範(fàn)例#2

讓我們來看另一個例子,如下。

代碼:

import java.util.*;
public class Smith_Num_2
{
static List<Integer> F_P_Fact(int no)
{
List<Integer> output = new ArrayList<>();
for (int j = 2; no % j == 0; no = no/j)
output.add(j);
for (int j = 3; j* j <= no; j=j+2)
{
while (no % j == 0)
{
output.add(j);
no = no/j;
}
}
if (no != 1)
output.add(no);
return output;
}
static int S_Digit(int no)
{
int s= 0;
while (no > 0)
{
s =s+(no % 10);
no = no/10;
}
return s;
}
public static void main(String args[])
{
for (int no = 1; no < 5000; no++)
{
List<Integer> Fact = F_P_Fact(no);
if (Fact.size() > 1)
{
int s = S_Digit(no);
for (int fa : Fact)
s =s-S_Digit(fa);
if (s == 0)
System.out.println(no);
}
}
}
}

說明

在上面的範(fàn)例中,我們試著找出 5000 以內(nèi)的所有 smith 編號,如圖所示。我們使用下面的螢?zāi)唤貓D來說明上述程式的最終輸出。

Java 中的史密斯數(shù)

結(jié)論

我們希望您透過這篇文章學(xué)習(xí) Java 中的史密斯數(shù)。從上面的文章中,我們了解了史密斯數(shù)的基本邏輯,也看到了史密斯數(shù)的不同例子。從這篇文章中,我們學(xué)習(xí)瞭如何以及何時在 java 中使用史密斯數(shù)。

以上是Java 中的史密斯數(shù)的詳細內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

選擇特定的列|性能優(yōu)化 選擇特定的列|性能優(yōu)化 Jun 27, 2025 pm 05:46 PM

1.FetchingAllColumnSIncreaseSemory,網(wǎng)絡(luò)和ProPersingSingoverHead.2.unnectaryDatareTrievalPreventSefefectivefectivefective.2.nynynyneedcolumnsimprovesperformenceByReDucingReSouranceByReDucingRessourceUsage.1.fetchingallcolumnsincreasemory

Java中的'枚舉”類型是什麼? Java中的'枚舉”類型是什麼? Jul 02, 2025 am 01:31 AM

Java中的枚舉(enum)是一種特殊的類,用於表示固定數(shù)量的常量值。 1.使用enum關(guān)鍵字定義;2.每個枚舉值都是該枚舉類型的公共靜態(tài)最終實例;3.可以包含字段、構(gòu)造函數(shù)和方法,為每個常量添加行為;4.可在switch語句中使用,支持直接比較,並提供name()、ordinal()、values()和valueOf()等內(nèi)置方法;5.枚舉可提升代碼的類型安全性、可讀性和靈活性,適用於狀態(tài)碼、顏色或星期等有限集合場景。

將語義結(jié)構(gòu)應(yīng)用於html的文章,部分和旁邊 將語義結(jié)構(gòu)應(yīng)用於html的文章,部分和旁邊 Jul 05, 2025 am 02:03 AM

在HTML中合理使用語義化標(biāo)籤能提升頁面結(jié)構(gòu)清晰度、可訪問性和SEO效果。 1.用於獨立內(nèi)容區(qū)塊,如博客文章或評論,需保持自包含性;2.用於歸類相關(guān)內(nèi)容,通常包含標(biāo)題,適用於頁面不同模塊;3.用於與主內(nèi)容相關(guān)但非核心的輔助信息,如側(cè)邊欄推薦或作者簡介。實際開發(fā)中應(yīng)結(jié)合、等標(biāo)籤,避免過度嵌套,保持結(jié)構(gòu)簡潔,並通過開發(fā)者工具驗證結(jié)構(gòu)合理性。

什麼是JDK? 什麼是JDK? Jun 25, 2025 pm 04:05 PM

JDK(JavaDevelopmentKit)是用於開發(fā)Java應(yīng)用程序和小程序的軟件開發(fā)環(huán)境,包含編譯、調(diào)試和運行Java程序所需的工具與庫。其核心組件包括Java編譯器(javac)、Java運行時環(huán)境(JRE)、Java解釋器(java)、調(diào)試器(jdb)、文檔生成工具(javadoc)及打包工具(如jar和jmod)。開發(fā)者需要JDK來編寫、編譯Java代碼,並藉助IDE進行開發(fā);沒有JDK則無法構(gòu)建或修改Java應(yīng)用??赏ㄟ^在終端輸入javac-version和java-version

Java設(shè)置指南的VSCODE調(diào)試器 Java設(shè)置指南的VSCODE調(diào)試器 Jul 01, 2025 am 12:22 AM

配置Java調(diào)試環(huán)境在VSCode上的關(guān)鍵步驟包括:1.安裝JDK並驗證;2.安裝JavaExtensionPack和DebuggerforJava插件;3.創(chuàng)建並配置launch.json文件,指定mainClass和projectName;4.設(shè)置正確的項目結(jié)構(gòu),確保源碼路徑和編譯輸出正確;5.使用調(diào)試技巧如Watch、F8/F10/F11快捷鍵及處理常見問題如類找不到或JVM附加失敗的方法。

XML規(guī)則:避免的常見錯誤 XML規(guī)則:避免的常見錯誤 Jun 22, 2025 am 12:09 AM

避免XML錯誤的方法包括:1.確保元素正確嵌套,2.轉(zhuǎn)義特殊字符。正確嵌套避免解析錯誤,而轉(zhuǎn)義字符防止文檔損壞,使用XML編輯器可幫助維護結(jié)構(gòu)完整性。

Windows搜索欄未輸入 Windows搜索欄未輸入 Jul 02, 2025 am 10:55 AM

Windows搜索欄無法輸入文字時,常見的解決方法有:1.重啟資源管理器或電腦,可打開任務(wù)管理器重新啟動“Windows資源管理器”進程,或直接重啟設(shè)備;2.切換或卸載輸入法,嘗試使用英文輸入法或微軟自帶輸入法,排除第三方輸入法衝突;3.運行系統(tǒng)文件檢查工具,在命令提示符中執(zhí)行sfc/scannow命令修復(fù)系統(tǒng)文件;4.重置或重建搜索索引,通過“控制面板”中的“索引選項”進行重建。通常先從簡單步驟開始排查,多數(shù)問題可以逐步解決。

如何為Java開發(fā)設(shè)置VS代碼? 如何為Java開發(fā)設(shè)置VS代碼? Jun 29, 2025 am 12:23 AM

要使用VSCode進行Java開發(fā),需安裝必要擴展、配置JDK和設(shè)置工作區(qū)。 1.安裝JavaExtensionPack,包含語言支持、調(diào)試集成、構(gòu)建工具和代碼補全功能;可選裝JavaTestRunner或SpringBoot擴展包。 2.安裝至少JDK17,並通過java-version和javac-version驗證;設(shè)置JAVA_HOME環(huán)境變量,或在VSCode底部狀態(tài)欄切換多個JDK。 3.打開項目文件夾後,確保項目結(jié)構(gòu)正確並啟用自動保存,調(diào)整格式化規(guī)則、啟用代碼檢查,並配置編譯任務(wù)以優(yōu)化開

See all articles