Java menyediakan jenis sistem nombor yang berbeza kepada pengguna; nombor yang sempurna juga merupakan satu jenis sistem nombor yang disediakan oleh java. Kita boleh menganggap sebarang nombor sebagai nombor yang sempurna di Jawa. Jika semua faktor tidak termasuk nombor ia adalah sama dengan nombor yang diberikan, maka kita boleh menganggap nombor yang diberikan sebagai nombor yang sempurna. Di Java, kita boleh menggunakan cara yang berbeza untuk mencari nombor yang sempurna. Pada asasnya, nombor sempurna tidak lain hanyalah sebarang nombor yang asasnya ialah 10 dalam sistem nombor, dan ia adalah subbidang sistem nombor dalam matematik. Mengikut keperluan pengguna, kami boleh menggunakan sistem nombor yang sempurna.
Mulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Logik di sebalik nombor Perfect
Sekarang mari kita lihat logik di sebalik nombor sempurna dalam java seperti berikut.
Logik asas nombor sempurna adalah sangat mudah. Pertama, kita perlu mengetahui faktor positif nombor tertentu kemudian membuat jumlah semua faktor tidak termasuk nombor itu sendiri. Jika jumlah faktor adalah sama dengan nombor yang diberikan, maka kita boleh mengatakan bahawa nombor yang diberikan adalah nombor yang sempurna, dan jika jumlah faktor itu tidak sama dengan nombor yang diberikan, maka kita boleh mengatakan bahawa nombor yang diberikan adalah bukan nombor yang sempurna. Mari lihat contoh nombor sempurna; maka kita akan mendapat idea yang terperinci seperti berikut.
Andaikan kita perlu menyemak sama ada 8 adalah nombor yang sempurna atau tidak.
- Mula-mula ketahui faktor positif iaitu 1, 2, 4, dan 8. Sekarang buat penambahan semua faktor tidak termasuk 8, dan kita mendapat keputusan ialah 7. Sekarang bandingkan hasilnya dengan nombor yang diberikan; lihat di sini kedua-dua nombor adalah berbeza. Ini bermakna kita boleh mengatakan bahawa nombor ini bukan nombor yang sempurna.
- Sekarang mari kita pertimbangkan nombor lain: 6.
- Cari faktor positif bagi 6 ialah 1, 2, 3, dan 6.
- Jumlah semua faktor ialah 6, tidak termasuk 6.
- Sekarang bandingkan keputusan dengan nombor yang diberikan, lihat di sini nombor yang diberikan dan keputusan adalah sama yang bermakna kita boleh mengatakan bahawa nombor yang diberikan adalah nombor yang sempurna.
Bagaimana untuk Semak nombor Perfect di Java?
Sekarang mari kita lihat cara menyemak java nombor yang sempurna seperti berikut. Dalam pengaturcaraan java, terdapat tiga cara berbeza untuk menyemak nombor yang sempurna seperti berikut.
1.? Dengan menggunakan gelung while
Dalam gelung sementara, kita perlu mengikuti beberapa langkah seperti berikut.
1. Mula-mula, kita perlu membaca nombor yang dimasukkan daripada pengguna.
2. Gelung akan diteruskan sehingga keadaan (j<=no/2) adalah palsu. Jika baki no/j ialah 0, maka tambahkan nilai j ke dalam jumlah dan tambahkan nilai j. Selepas selesai semua lelaran, bandingkan hasilnya. Jika nombor gerai adalah sama, kemudian cetak nombor yang diberikan sebagai nombor sempurna; jika tidak, cetak nombor yang diberikan sebagai bukan nombor yang sempurna.
3. Contohnya no=8, j=1 no/2=4, jadi j <=4 bermakna keadaan adalah benar, sekarang cari faktornya.
8%j=0 benar kemudian jumlah =1
J=2 2<4 adalah benar 8%2 =0 adalah benar dan jumlah= 1+3=3.
Jadi dengan cara ini, kami melengkapkan semua lelaran untuk mencari nombor yang sempurna.
2. Dengan menggunakan Kaedah Statik
Dalam kaedah ini, kita boleh memanggil kaedah statik untuk menyemak nombor yang sempurna; dalam kaedah ini, kita hanya perlu memanggil kaedah PerfacOrNot. Ia secara automatik mengira jumlah semua faktor positif dan menyemak sama ada nombor yang diberikan adalah sempurna atau tidak.
3. Dengan menggunakan Kaedah rekursi
Dalam kaedah ini, kami juga memanggil kaedah PerfectOrNot () menggunakan objek. Dalam kaedah ini, pelaksanaan bermula sendiri dan memanggil PerfectOrNot (). Ia mengulangi lelaran sehingga j<= nombor/2 adalah palsu.
Contoh
Sekarang mari kita lihat contoh berbeza nombor sempurna di Jawa seperti berikut.
Contoh #1
Kod:
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"); } }
Penjelasan
Dengan menggunakan program di atas, kami cuba melaksanakan nombor sempurna dalam java dengan gelung sementara. Pengekodan program di atas adalah sangat mudah di sini kami mencipta kaedah utama; di dalam kaedah utama, kami menggunakan kelas pengimbas dan gelung while untuk mencari faktor nombor tertentu dan menambah faktor itu ke dalam pembolehubah s iaitu jumlah faktor seperti yang ditunjukkan dalam atur cara di atas. Akhir sekali, kami membandingkan kedua-dua nombor dan mencetak mesej mengikut perbandingan. Output akhir program di atas kami gambarkan dengan menggunakan tangkapan skrin berikut seperti berikut.
Contoh #2
Sekarang mari kita lihat satu lagi contoh nombor sempurna dengan menggunakan kaedah statik seperti berikut.
Kod:
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; } }
Penjelasan
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.
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.
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.
Atas ialah kandungan terperinci Nombor Sempurna di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Lazy memuatkan hanya pertanyaan apabila mengakses persatuan dengan mudah boleh membawa kepada masalah n 1, yang sesuai untuk senario di mana data yang berkaitan tidak ditentukan sama ada ia diperlukan; 2. Kegunaan pemuatan kecemasan dengan () untuk memuatkan data yang berkaitan terlebih dahulu untuk mengelakkan pertanyaan n 1, yang sesuai untuk senario pemprosesan batch; 3. Pemuatan kecemasan harus digunakan untuk mengoptimumkan prestasi, dan masalah n 1 dapat dikesan melalui alat seperti Laraveldebugbar, dan $ dengan atribut model digunakan dengan teliti untuk mengelakkan overhead prestasi yang tidak perlu.

Pengurusan memori Python adalah berdasarkan mekanisme pengiraan rujukan dan pengumpulan sampah. 1. Mekanisme pengiraan rujukan memastikan objek dikeluarkan dengan segera apabila nombor rujukan adalah 0. Nilai pulangan sys.getRefCount () adalah 1 lebih daripada rujukan sebenar kerana ia meningkatkan rujukannya sendiri; 2. Rujukan bulat tidak dapat dibersihkan melalui pengiraan rujukan, dan ia bergantung kepada kitar semula generasi modul GC. Memanggil GC.Collect () boleh mengitar semula objek yang tidak dapat dicapai; 3. Dalam pembangunan sebenar, jangka panjang rujukan objek besar harus dielakkan. Kita boleh menggunakan rujukan lemah lemah, tempat yang tepat pada masanya untuk melepaskan memori, dan menggunakan tracemalloc untuk memantau peruntukan memori; 4. Ringkasan: Python menggabungkan pengiraan rujukan dan pengumpulan sampah untuk menguruskan memori, pemaju boleh menggunakan alat dan mengoptimumkan paip rujukan.

UsearestapitobridgePhpandMlmodelsbyrunningthemodelinpythonviaflaskorfastapiandcallingitfromphpusingcurlorguzzle.2.runpythonsc riptsdirectlyFromphpusingExec () ortshell_exec () forsimple, trafficusecases rendah, walaupunThisapproachhassecurityandperformancelimitat

Laravel menyokong penggunaan pertanyaan SQL asli, tetapi parameter mengikat harus lebih disukai untuk memastikan keselamatan; 1. Gunakan db :: pilih () untuk melaksanakan pertanyaan pilih dengan parameter mengikat untuk mencegah suntikan SQL; 2. Gunakan db :: kemas kini () untuk melaksanakan operasi kemas kini dan mengembalikan bilangan baris yang terjejas; 3. Gunakan db :: masukkan () untuk memasukkan data; 4. Gunakan db :: padam () untuk memadam data; 5. Gunakan db :: pernyataan () untuk melaksanakan pernyataan SQL tanpa set keputusan seperti membuat, mengubah, dan sebagainya; 6. Adalah disyorkan untuk menggunakan Whereraw, SelectRaw dan kaedah lain dalam QueryBuilder untuk menggabungkan ungkapan asli untuk meningkatkan keselamatan

Pengaturcaraan responsif melaksanakan kesesuaian yang tinggi, perkhidmatan yang tidak menyekat latensi rendah di Java melalui ProjectReactor dan SpringWebFlux. 1. ProjectReactor menyediakan dua jenis teras: mono dan fluks, menyokong pemprosesan deklaratif aliran data tak segerak, dan penukar, penapis dan operasi lain melalui rantai pengendali; 2. SpringWebFlux dibina di atas reaktor, menyokong dua model pengaturcaraan: anotasi dan berfungsi. Ia berjalan pada pelayan yang tidak menyekat seperti Netty, dan dengan cekap dapat mengendalikan sejumlah besar sambungan serentak; 3. Menggunakan Reaktor WebFlux boleh meningkatkan keupayaan konkurensi dan penggunaan sumber dalam senario I/O-intensif, dan secara semulajadi menyokong SSE dan WebSO.

Pengendali ternary Python digunakan untuk secara ringkas melaksanakan penghakiman IF-else, dan sintaksinya adalah "value_if_trueif conditionelsevalue_if_false"; 1. Ia boleh digunakan untuk tugasan mudah, seperti mengembalikan rentetan yang sepadan berdasarkan nilai positif dan negatif; 2. Ia boleh mengelakkan kesilapan pembahagian, seperti menentukan bahawa penyebutnya bukan sifar dan kemudian pembahagian; 3. Ia boleh memilih kandungan mengikut syarat dalam format rentetan; 4. Ia boleh memberikan label kepada unsur -unsur yang berbeza dalam formula derivasi senarai; Harus diingat bahawa pengendali ini hanya sesuai untuk cawangan binari dan tidak boleh bersarang berbilang lapisan. Logik kompleks harus menggunakan struktur tradisional IF-ELIF-ELSE untuk memastikan kebolehbacaan.

Mapstruct adalah penjana kod kompilasi masa yang digunakan untuk memudahkan pemetaan antara Javabeans. 1. Ia secara automatik menjana kelas pelaksanaan dengan menentukan antara muka untuk mengelakkan menulis secara manual set/mendapatkan kod pemetaan secara manual; 2. Ia mempunyai jenis selamat, tiada overhead runtime, menyokong pemetaan automatik medan nama yang sama, ekspresi tersuai, objek bersarang dan pemetaan koleksi; 3. Ia boleh diintegrasikan dengan Spring dan menggunakan @Mapper (ComponentModel = "Spring") untuk menyuntik pemetaan ke Springbean; 4. Konfigurasi mudah, hanya memperkenalkan kebergantungan mapstruct dan annotationprocessorporporporsporation sisipan

Gunakan kumpulan menangkap ekspresi biasa di Notepad untuk menyusun semula teks dengan berkesan. Pertama, anda perlu membuka kotak dialog Penggantian (Ctrl H), pilih "Mod Carian" sebagai "Ekspresi Biasa", 1. Gunakan () untuk menentukan kumpulan penangkapan, seperti (\ w) untuk menangkap kata -kata; 2. Gunakan \ 1 dan \ 2 untuk merujuk kumpulan yang sepadan dalam kotak penggantian; 3. Contoh: Tukar nama "Johndoe" sebagai "Doe, John", cari (\ w) \ s (\ w), ganti dengan \ 2, \ 1; 4. Penukaran Format Tarikh 2023-12-25 hingga 25/12/2023, cari (\ d {4})-(\ d {2})-(\ d {2}), ganti dengan \ 3/\ 2/\ 1; 5. Penyusunan semula log boleh mengekstrak masa, tahap, ID dan maklumat lain
