亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
完美數(shù)字背後的邏輯
如何在Java中檢查完全數(shù)?
1.? 透過使用 while 迴圈
2.透過使用靜態(tài)方法
3.透過使用遞歸方法
範(fàn)例#2
Example #3
Conclusion
首頁 Java java教程 Java 中的完美數(shù)

Java 中的完美數(shù)

Aug 30, 2024 pm 04:28 PM
java

Java為使用者提供了不同類型的數(shù)字系統(tǒng);完全數(shù)也是java提供的一種數(shù)字系統(tǒng)。在Java中我們可以將任何數(shù)字視為完美數(shù)。如果除它之外的所有因數(shù)都等於給定數(shù),那麼我們可以認(rèn)為給定數(shù)是完全數(shù)。在Java中,我們可以使用不同的方法來找到完美數(shù)。基本上,完美數(shù)只不過是數(shù)系中以 10 為底的任何數(shù)字,它是數(shù)學(xué)中數(shù)系的一個(gè)子領(lǐng)域。根據(jù)使用者要求,我們可以使用完美的數(shù)字系統(tǒng)。

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

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

完美數(shù)字背後的邏輯

現(xiàn)在讓我們來看看java完美數(shù)背後的邏輯如下。

完美數(shù)的基本邏輯非常簡單。首先,我們需要找出給定數(shù)字的正因數(shù),然後將除該數(shù)字本身之外的所有因數(shù)相加。如果因數(shù)和等於給定數(shù),則可以說給定數(shù)是完全數(shù),如果因數(shù)和不等於給定數(shù),則可以說給定數(shù)是不是完美的數(shù)字。讓我們來看一個(gè)完美數(shù)的例子;那麼我們將得到如下詳細(xì)的想法。

假設(shè)我們需要檢查 8 是否為完美數(shù)。

  • 先找出正因數(shù)1、2、4、8?,F(xiàn)在將除8之外的所有因數(shù)相加,得到的結(jié)果是7?,F(xiàn)在將結(jié)果與給定的數(shù)字進(jìn)行比較;看到這裡兩個(gè)數(shù)字是不同的。這意味著我們可以說這個(gè)數(shù)字不是一個(gè)完美的數(shù)字。
  • 現(xiàn)在讓我們考慮另一個(gè)數(shù)字:6。
  • 求 6 的正因數(shù)是 1、2、3、6。
  • 所有因數(shù)和為 6,排除 6。
  • 現(xiàn)在將結(jié)果與給定的數(shù)字進(jìn)行比較,看到這裡給定的數(shù)字和結(jié)果是相同的,這意味著我們可以說給定的數(shù)字是一個(gè)完美的數(shù)字。

如何在Java中檢查完全數(shù)?

現(xiàn)在讓我們看看如何檢查完全數(shù)java,如下所示。在java程式設(shè)計(jì)中,有以下三種不同的方法來檢查完全數(shù)。

1.? 透過使用 while 迴圈

在while循環(huán)中,我們需要執(zhí)行以下一些步驟。

1.首先,我們需要讀取使用者輸入的號(hào)碼。

2.循環(huán)將繼續(xù),直到條件 (j

3.例如 no=8, j=1 no/2=4,所以 j

8%j=0 true 那麼 sum =1

J=2 2

這樣,我們就完成了所有的迭代,找到了完美的數(shù)字。

2.透過使用靜態(tài)方法

在這個(gè)方法中,我們可以呼叫靜態(tài)方法來檢查完美數(shù);在這個(gè)方法中,我們只需要呼叫PerfacOrNot方法。它會(huì)自動(dòng)計(jì)算所有正因數(shù)的總和,並檢查給定的數(shù)字是否完美。

3.透過使用遞歸方法

在這個(gè)方法中,我們也使用物件呼叫了 PerfectOrNot() 方法。在此方法中,執(zhí)行自行啟動(dòng)並呼叫 PerfectOrNot ()。它重複迭代,直到 j

範(fàn)例

現(xiàn)在讓我們來看看 Java 中完美數(shù)的不同範(fàn)例,如下。

範(fàn)例#1

代碼:

import java.util.Scanner;
class Perfect_number1
{
public static void main(String arg[])
{
long num,s=0;
Scanner s_c=new Scanner(System.in);
System.out.println("Enter number");
num=s_c.nextLong();
int j=1;
while(j<=num/2)
{
if(num%j==0)
{
s+=j;
}
j++;
}
if(s==num)
{
System.out.println(num+" the given number is perfect number");
}
else
System.out.println(num+" the given number is not perfect number");
}
}

說明

透過使用上面的程序,我們嘗試用 while 迴圈在 java 中實(shí)現(xiàn)完美數(shù)。上面程式的編碼非常簡單,這裡我們建立了main 方法;在main 方法中,我們使用Scanner 類別和while 迴圈來尋找給定數(shù)字的因子,並將該因子加入s 變數(shù)中,該變數(shù)是因子的總和,如上面的程序所示。最後,我們比較兩個(gè)數(shù)字並根據(jù)比較列印訊息。我們使用下面的螢?zāi)唤貓D來說明上述程式的最終輸出。

Java 中的完美數(shù)

範(fàn)例#2

現(xiàn)在讓我們來看另一個(gè)使用靜態(tài)方法的完全數(shù)字範(fàn)例,如下所示。

代碼:

import java.util.Scanner;
class Perfect_Method
{
public static void main(String arg[])
{
long num,m;
Scanner s_c=new Scanner(System.in);
System.out.println("Enter number");
num=s_c.nextLong();
m=perfectOrNot(num);
if(m==num)
System.out.println(num+" The given number is perfect number");
else
System.out.println(num+" The given number is not perfect number");
}
static long perfectOrNot(long n)
{
long s=0;
for(int j=1;j<=n/2;j++)
{
if(n%j==0)
{
s+=j;
}
}
return s;
}
}

說明

In the above program, we use a static method to check if a given number is a perfect number or not. In the above program, we use the perfecOrNot () method. After that, we use a for loop to find the factors of the given number, and the remaining process is the same, that is, to compare the result with the given number and print a message according to the comparison. The final output of the above program we illustrate by using the following screenshot as follows.

Java 中的完美數(shù)

Example #3

Now let’s see another example to check perfect numbers by using the recursive Method as follows.

Code:

public class Recursive
{
static int n = 200;
static int s = 0;
static int d = 1;
static int findPerfect(int n, int d) {
{
if(d<=n/2)
{
if(n%d==0)
{
s+=d;
}
d++;
findPerfect(n,d);
}
return s;
}
}
public static void main(String args[])
{
int r = findPerfect(n,d);
if(r == n)
System.out.println(" The given number is perfect Number");
else System.out.println("The given number is not perfect Number");
}
}

Explanation

In the above program, we are using a recursive method to check the perfect number. The final output of the above program we illustrate by using the following screenshot as follows.

Java 中的完美數(shù)

Conclusion

We hope from this article you learn Perfect Number in java. From the above article, we have learned the basic logic of Perfect Numbers, and we also see different examples of Perfect Numbers. From this article, we learned how and when we use the Perfect Number in java.

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

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

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

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

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

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

Laravel Lazy Loading與急切的加載 Laravel Lazy Loading與急切的加載 Jul 28, 2025 am 04:23 AM

懶加載在訪問關(guān)聯(lián)時(shí)才查詢,易導(dǎo)致N 1問題,適合不確定是否需要關(guān)聯(lián)數(shù)據(jù)的場(chǎng)景;2.急加載使用with()提前加載關(guān)聯(lián)數(shù)據(jù),避免N 1查詢,適合批量處理場(chǎng)景;3.應(yīng)優(yōu)先使用急加載優(yōu)化性能,可通過LaravelDebugbar等工具檢測(cè)N 1問題,並謹(jǐn)慎使用模型的$with屬性以避免不必要的性能開銷。

Python內(nèi)存管理示例 Python內(nèi)存管理示例 Jul 28, 2025 am 01:10 AM

Python的內(nèi)存管理基於引用計(jì)數(shù)和垃圾回收機(jī)制,1.引用計(jì)數(shù)機(jī)制確保對(duì)像在引用數(shù)為0時(shí)立即釋放,sys.getrefcount()返回值比實(shí)際引用多1因其自身增加引用;2.循環(huán)引用無法通過引用計(jì)數(shù)清理,需依賴gc模塊的分代回收,調(diào)用gc.collect()可回收不可達(dá)對(duì)象;3.實(shí)際開發(fā)中應(yīng)避免長期持有大對(duì)象引用,可使用weakref弱引用、及時(shí)置None釋放內(nèi)存,並利用tracemalloc監(jiān)控內(nèi)存分配;4.總結(jié):Python結(jié)合引用計(jì)數(shù)與垃圾回收管理內(nèi)存,開發(fā)者可通過合理使用工具和優(yōu)化引用管

將PHP與機(jī)器學(xué)習(xí)模型集成 將PHP與機(jī)器學(xué)習(xí)模型集成 Jul 28, 2025 am 04:37 AM

usearestapitobridgephpandmlmodelsbyrunningthemodelinpythonviaflaskorfastapiandcallingitfromphpusingcurlorguzzle.2.runpythonscriptsdirectsdirectlyectlyectlyfromphpsingexec()orshell_exec()orshell_exec()orshell_exec()

Laravel Raw SQL查詢示例 Laravel Raw SQL查詢示例 Jul 29, 2025 am 02:59 AM

Laravel支持使用原生SQL查詢,但應(yīng)優(yōu)先使用參數(shù)綁定以確保安全;1.使用DB::select()執(zhí)行帶參數(shù)綁定的SELECT查詢,防止SQL注入;2.使用DB::update()執(zhí)行UPDATE操作並返回影響行數(shù);3.使用DB::insert()插入數(shù)據(jù);4.使用DB::delete()刪除數(shù)據(jù);5.使用DB::statement()執(zhí)行如CREATE、ALTER等無結(jié)果集的SQL語句;6.推薦在QueryBuilder中使用whereRaw、selectRaw等方法結(jié)合原生表達(dá)式以提升安

帶有項(xiàng)目反應(yīng)堆和彈簧WebFlux的Java的反應(yīng)性編程 帶有項(xiàng)目反應(yīng)堆和彈簧WebFlux的Java的反應(yīng)性編程 Jul 29, 2025 am 12:04 AM

響應(yīng)式編程在Java中通過ProjectReactor和SpringWebFlux實(shí)現(xiàn)高並發(fā)、低延遲的非阻塞服務(wù)。 1.ProjectReactor提供Mono和Flux兩個(gè)核心類型,支持聲明式處理異步數(shù)據(jù)流,並通過操作符鏈進(jìn)行轉(zhuǎn)換、過濾等操作;2.SpringWebFlux基於Reactor構(gòu)建,支持註解式和函數(shù)式兩種編程模型,運(yùn)行在Netty等非阻塞服務(wù)器上,可高效處理大量並發(fā)連接;3.使用WebFlux Reactor能提升I/O密集型場(chǎng)景下的並發(fā)能力與資源利用率,天然支持SSE、WebSo

python三元操作員示例 python三元操作員示例 Jul 28, 2025 am 02:57 AM

Python的三元運(yùn)算符用於簡潔地實(shí)現(xiàn)if-else判斷,其語法為“value_if_trueifconditionelsevalue_if_false”;1.可用於簡單賦值,如根據(jù)數(shù)值正負(fù)返回對(duì)應(yīng)字符串;2.可避免除零錯(cuò)誤,如判斷分母非零再進(jìn)行除法;3.可在字符串格式化中根據(jù)條件選擇內(nèi)容;4.可在列表推導(dǎo)式中為不同元素分配標(biāo)籤;需注意該運(yùn)算符僅適用於二分支情況,不宜多層嵌套,複雜邏輯應(yīng)使用傳統(tǒng)if-elif-else結(jié)構(gòu)以保證可讀性。

在Java中使用Mapstruct進(jìn)行無痛豆地圖 在Java中使用Mapstruct進(jìn)行無痛豆地圖 Jul 28, 2025 am 03:20 AM

MapStruct是一個(gè)編譯時(shí)代碼生成器,用於簡化JavaBean之間的映射。 1.它通過定義接口自動(dòng)生成實(shí)現(xiàn)類,避免手動(dòng)編寫冗長的set/get映射代碼;2.具備類型安全、無運(yùn)行時(shí)開銷、支持自動(dòng)映射同名字段、自定義表達(dá)式、嵌套對(duì)象和集合映射等特性;3.可與Spring集成,使用@Mapper(componentModel="spring")將mapper注入為Springbean;4.配置簡單,只需引入mapstruct依賴和annotationProcessorPaths插

記事本查找並替換為正則捕獲組 記事本查找並替換為正則捕獲組 Jul 28, 2025 am 02:17 AM

在Notepad 中使用正則表達(dá)式捕獲組可有效重組文本,首先需打開替換對(duì)話框(Ctrl H),選擇“搜索模式”為“正則表達(dá)式”,1.使用()定義捕獲組,如(\w )捕獲單詞;2.在替換框中用\1、\2引用對(duì)應(yīng)組;3.示例:交換姓名“JohnDoe”為“Doe,John”,查找(\w )\s (\w ),替換為\2,\1;4.日期格式轉(zhuǎn)換2023-12-25為25/12/2023,查找(\d{4})-(\d{2})-(\d{2}),替換為\3/\2/\1;5.日誌重排可提取時(shí)間、級(jí)別、ID等信息

See all articles