Di Jawa kami mempunyai jenis fungsi yang berbeza; nombor smith ialah satu jenis fungsi yang disediakan kepada pengguna. Pada asasnya, nombor smith hanyalah nombor komposit (yang asasnya ialah 10 dalam sistem nombor) yang penambahan semua digit adalah sama dengan penambahan semua digit semua faktor perdananya (tidak termasuk 1), ini dikenali sebagai smith. nombor. Nama lain untuk nombor smith ialah nombor jenaka. Mengikut definisi, kita boleh mengatakan bahawa semua nombor perdana dikecualikan secara semula jadi jika ia memenuhi syarat. Biasanya nombor smith ialah subbidang yang sangat asas bagi sistem nombor yang digunakan dalam matematik mengikut keperluan pengguna dan beberapa keperluannya bagi penyataan masalah.
Mulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Logik di sebalik nombor smith
Sekarang mari kita lihat apakah logik di sebalik nombor smith seperti berikut.
Logik nombor smith sangat mudah, mari kita pertimbangkan nombor berikut maka kita akan mudah memahami logiknya seperti berikut.
Contoh: Katakan kita perlu menyemak sama ada nombor yang diberikan ialah nombor smith atau tidak.
Nombor yang diberikan ialah: 95
Pertama, kita perlu mengetahui faktor perdana bagi 95 ialah 19 dan 5 (5, 19)
Sekarang cari jumlah digit iaitu 9 + 5 = 14
Jumlah faktor perdana ialah 5 + 1 + 9 = 15
Sekarang bandingkan kedua-dua keputusan, lihat di sini 14 tidak sama dengan 15. Jadi nombor yang diberikan bukan nombor perdana.
Mari kita pertimbangkan nombor lain seperti berikut.
Nombor yang diberikan: 58
Mula-mula cari faktor perdana bagi 58 = 2 dan 29
Jumlah faktor perdana ialah = 2 + 2 +9 = 13
Jumlah digit nombor yang diberi ialah = 5 + 8 = 13
Sekarang bandingkan kedua-dua keputusan, di sini kedua-dua keputusan adalah sama atau kita boleh katakan ia adalah sama. Jadi kita boleh katakan bahawa nombor yang diberikan ialah nombor smith.
Jadi ini adalah logik yang sangat mudah di sebalik nombor smith, kita hanya perlu membandingkan jumlah faktor utama dan jumlah digit. Jika kedua-dua jumlah adalah sama maka nombor yang diberikan ialah nombor smith sebaliknya nombor itu bukan nombor smith.
Bagaimana untuk Semak nombor Smith dalam Java?
Sekarang mari kita lihat bagaimana kita boleh menyemak sama ada nombor yang diberikan adalah smith atau tidak dalam java seperti berikut.
Dalam perkara di atas, kita telah membincangkan contoh nombor smith yang berbeza. Sekarang mari kita lihat langkah yang berbeza untuk mencari nombor smith seperti berikut.
1. Mula-mula kita perlu memulakan atau membaca nombor daripada pengguna.
2. Selepas itu kita perlu mencari jumlah digit bagi nombor yang diberi.
3. Seterusnya kita perlu mencari faktor perdana bagi nombor tertentu.
4. Sekarang hitung jumlah digit bagi faktor perdana.
5. Sekarang bandingkan jumlah digit nombor tertentu dan jumlah digit faktor perdana.
a. Jika kedua-dua jumlah adalah sama maka kita boleh mengatakan bahawa nombor yang diberikan ialah nombor smith.
b. Jika tidak, kita boleh menganggap nombor yang diberikan bukan nombor smith kerana jumlahnya berbeza.
Jadi langkah yang dinyatakan di atas berguna untuk melaksanakan program nombor smith di Java.
Contoh
Sekarang mari kita lihat contoh nombor smith yang berbeza di java untuk pemahaman yang lebih baik seperti berikut.
Contoh #1
Kod:
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."); } }
Penjelasan
Dalam program di atas, kami cuba melaksanakan program nombor smith di java. Di sini kita mula-mula mencipta fungsi untuk menjumlahkan digit faktor perdana; begitu juga, kami juga mencipta fungsi untuk mencari jumlah digit bagi nombor yang diberikan seperti yang ditunjukkan dalam atur cara di atas. Selepas itu, kami mencipta fungsi untuk menyemak sama ada nombor yang diberikan adalah nombor perdana atau tidak dengan menggunakan fungsi Boolean. Kemudian kami menulis fungsi utama, di dalam fungsi utama kami menerima nombor daripada pengguna dan memanggil semua fungsi yang telah kami buat dan membandingkan kedua-dua jumlah. Jika jumlahnya sama maka cetak nombor yang diberikan sebagai nombor smith dan jika jumlahnya tidak sama maka cetak nombor yang diberikan bukan nombor smith. Output akhir program di atas kami gambarkan dengan menggunakan tangkapan skrin berikut seperti berikut.
Contoh #2
Mari kita lihat contoh lain seperti berikut.
Kod:
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); } } } }
Penjelasan
Dalam contoh di atas, kami cuba mencari semua nombor smith sehingga 5000 seperti yang ditunjukkan. Output akhir program di atas kami gambarkan dengan menggunakan tangkapan skrin berikut seperti berikut.
Kesimpulan
Kami berharap daripada artikel ini anda mempelajari Nombor Smith dalam java. Daripada artikel di atas, kami telah mempelajari logik asas Nombor Smith dan kami juga melihat contoh Nombor Smith yang berbeza. Daripada artikel ini, kami mempelajari cara dan bila kami menggunakan Nombor Smith dalam java.
Atas ialah kandungan terperinci Nombor Smith 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

Penggunaan rasional tag semantik dalam HTML dapat meningkatkan kejelasan struktur halaman, aksesibilitas dan kesan SEO. 1. Digunakan untuk blok kandungan bebas, seperti jawatan blog atau komen, ia mesti mandiri; 2. Digunakan untuk kandungan berkaitan klasifikasi, biasanya termasuk tajuk, dan sesuai untuk modul yang berlainan halaman; 3. Digunakan untuk maklumat tambahan yang berkaitan dengan kandungan utama tetapi tidak teras, seperti cadangan sidebar atau profil pengarang. Dalam perkembangan sebenar, label harus digabungkan dan lain -lain, elakkan bersarang yang berlebihan, pastikan struktur mudah, dan sahkan rasionalitas struktur melalui alat pemaju.

Apabila anda menghadapi "operasi ini memerlukan peningkatan keizinan", ini bermakna anda memerlukan kebenaran pentadbir untuk diteruskan. Penyelesaian termasuk: 1. Klik kanan program "Run As Administrator" atau tetapkan pintasan untuk sentiasa dijalankan sebagai pentadbir; 2. Periksa sama ada akaun semasa adalah akaun pentadbir, jika tidak, menukar atau meminta bantuan pentadbir; 3. Gunakan Kebenaran Pentadbir untuk membuka command prompt atau PowerShell untuk melaksanakan perintah yang relevan; 4. Menghapuskan sekatan dengan mendapatkan pemilikan fail atau mengubah suai pendaftaran apabila perlu, tetapi operasi tersebut perlu berhati -hati dan memahami sepenuhnya risiko. Sahkan identiti kebenaran dan cuba kaedah di atas biasanya menyelesaikan masalah.

Terdapat tiga perbezaan utama antara yang boleh dipanggil dan boleh dijalankan di Jawa. Pertama, kaedah yang boleh dipanggil boleh mengembalikan hasilnya, sesuai untuk tugas -tugas yang perlu mengembalikan nilai, seperti yang boleh dipanggil; Walaupun kaedah run () runnable tidak mempunyai nilai pulangan, sesuai untuk tugas -tugas yang tidak perlu kembali, seperti pembalakan. Kedua, Callable membolehkan untuk membuang pengecualian yang diperiksa untuk memudahkan penghantaran ralat; Walaupun Runnable mesti mengendalikan pengecualian secara dalaman. Ketiga, Runnable boleh dihantar secara langsung ke benang atau executorservice, sementara yang boleh dipanggil hanya boleh dikemukakan ke executorservice dan mengembalikan objek masa depan untuk

JavaprovidesmultiplesynchronizationToolsforthreadsafety.1.SynchronizedBlockSensensureMutualExclusionByLockingMethodsorspecificcodesections.2.reentrantlockoffersadvancedControl, termasuktrylockandfairnesspolicies.condition

Mekanisme pemuatan kelas Java dilaksanakan melalui kelas, dan aliran kerja terasnya dibahagikan kepada tiga peringkat: memuatkan, menghubungkan dan memulakan. Semasa fasa pemuatan, kelas muat turun secara dinamik membaca bytecode kelas dan mencipta objek kelas; Pautan termasuk mengesahkan ketepatan kelas, memperuntukkan memori kepada pembolehubah statik, dan rujukan simbol parsing; Inisialisasi melakukan blok kod statik dan tugasan pembolehubah statik. Pemuatan kelas mengamalkan model delegasi induk, dan mengutamakan loader kelas induk untuk mencari kelas, dan cuba bootstrap, lanjutan, dan appliclassloader pada gilirannya untuk memastikan perpustakaan kelas teras selamat dan mengelakkan pemuatan pendua. Pemaju boleh menyesuaikan kelas, seperti UrlClassl

Kunci pengendalian pengecualian Java adalah untuk membezakan antara pengecualian yang diperiksa dan tidak terkawal dan menggunakan percubaan cuba, akhirnya dan pembalakan munasabah. 1. Pengecualian yang diperiksa seperti IOException perlu dipaksa untuk mengendalikan, yang sesuai untuk masalah luaran yang diharapkan; 2. Pengecualian yang tidak terkawal seperti NullPointerException biasanya disebabkan oleh kesilapan logik program dan kesilapan runtime; 3. Apabila menangkap pengecualian, mereka harus khusus dan jelas untuk mengelakkan penangkapan umum pengecualian; 4. Adalah disyorkan untuk menggunakan sumber-sumber cuba untuk menutup sumber secara automatik untuk mengurangkan pembersihan kod manual; 5. Dalam pengendalian pengecualian, maklumat terperinci harus direkodkan dalam kombinasi dengan rangka kerja log untuk memudahkan kemudian

Java menyokong pengaturcaraan asynchronous termasuk penggunaan aliran yang boleh diselesaikan, aliran responsif (seperti ProjectReactor), dan benang maya di Java19. 1.CompletableFuture meningkatkan kebolehbacaan dan penyelenggaraan kod melalui panggilan rantai, dan menyokong orkestrasi tugas dan pengendalian pengecualian; 2. ProjectReactor menyediakan jenis mono dan fluks untuk melaksanakan pengaturcaraan responsif, dengan mekanisme tekanan belakang dan pengendali yang kaya; 3. Thread maya mengurangkan kos konvensional, sesuai untuk tugas I/O-intensif, dan lebih ringan dan lebih mudah untuk berkembang daripada benang platform tradisional. Setiap kaedah mempunyai senario yang berkenaan, dan alat yang sesuai harus dipilih mengikut keperluan anda dan model campuran harus dielakkan untuk mengekalkan kesederhanaan

Polimorfisme adalah salah satu ciri utama pengaturcaraan berorientasikan objek Java. Intinya terletak pada "satu antara muka, pelbagai pelaksanaan". Ia melaksanakan antara muka bersatu untuk mengendalikan tingkah laku objek yang berbeza melalui warisan, kaedah penulisan semula dan transformasi ke atas. 1. Polimorfisme membolehkan kelas induk merujuk kepada objek subkelas, dan kaedah yang sepadan dipanggil mengikut objek sebenar semasa runtime; 2. Pelaksanaannya perlu memenuhi tiga syarat hubungan warisan, kaedah penulisan semula dan transformasi ke atas; 3. Ia sering digunakan untuk mengendalikan objek subkelas yang berbeza, penyimpanan koleksi dan reka bentuk kerangka; 4. Apabila digunakan, hanya kaedah yang ditakrifkan oleh kelas induk boleh dipanggil. Kaedah baru yang ditambahkan ke subkelas perlu diubah ke bawah dan diakses, dan memberi perhatian kepada jenis keselamatan.
