Nombor kuat ialah nombor khas yang boleh ditakrifkan sebagai penambahan faktorial bagi setiap digit nombor itu, yang sama dengan nombor itu sendiri. Untuk lebih memahami konsep nombor kuat, lihat contoh di bawah:
IKLAN Kursus Popular dalam kategori ini JAVA MASTERY - Pengkhususan | 78 Siri Kursus | 15 Ujian Olok-olokNombor 145 ialah nombor yang kuat. Ini kerana jika kita menambah faktorial setiap digit nombor ini, anda akan mendapat nombor, iaitu 145 sendiri, sebagai jumlahnya. 1! + 4! + 5! = 1 + 24 + 120 = 145.
Sekarang mari kita lihat logik untuk menyemak sama ada nombor adalah nombor yang kuat atau tidak di Jawa. Di bawah ialah huraian untuk menyemak sama ada nombor adalah nombor yang kuat atau tidak.
Sangat mudah untuk melaksanakan logik nombor yang kuat di Jawa; mari kita lihat beberapa contoh di bawah.
Kod:
// Program in Java to check if a given number is a strong number or not import java.util.*; public class Main { public static void main(String[] args) { int n,i; int fact_n,lastdig; Scanner sc = new Scanner(System.in); System.out.print("\nEnter the number : " ); n = sc.nextInt(); int total = 0; int temp_n = n; while(n != 0) { i = 1; fact_n = 1; lastdig = n % 10; while(i <= lastdig) { fact_n = fact_n * i; i++; } total = total + fact_n; n = n / 10; } if(total == temp_n) System.out.println(temp_n + " is a strong number\n"); else System.out.println(temp_n + " is not a strong number\n"); System.out.println(); } }
Output:
Atur cara Java di atas mempunyai semua pembolehubah seperti yang dibincangkan dalam logik untuk program tersebut. Ia mula-mula mencari mod atau digit terakhir nombor sehingga nombor itu bukan sifar. Setelah ini dilakukan, ia menambah nombor dan menyimpannya dalam fact_n untuk mengetahui faktorial nombor itu. Jumlah atau penambahan tidak berada dalam gelung sementara di mana faktorial ditambah sehingga keadaan i<= lastdig tidak berpuas hati. Selepas penambahan 'jumlah' dan fakta_n tidak sama dengan 'temp_n', maka nombor yang diberikan bukan faktorial. Sebaliknya, jika jumlah dan fakta_n adalah sama, maka nombor yang disebutkan adalah nombor kuat.
Cara lain untuk mencari nombor kuat adalah dengan menggunakan nombor kuat. Nombor di sini boleh dihantar ke program dengan menggunakan parameter baris arahan.
Kod:
public class Main { static int f[] = new int[10]; // Finding factorial for number 0 to 9 static void FirstCompute() { f[0] = f[1] = 1; for (int i = 2; i<10; ++i) f[i] = f[i-1] * i; } // If x is strong true is returned static boolean isStrong(int x) { int Sum_fact = 0; // Traverse through all digits of x. int temp_n = x; while (temp_n>0) { Sum_fact += f[temp_n%10]; temp_n /= 10; } return (Sum_fact == x); } // main function public static void main (String[] args) { // calling preCompute FirstCompute(); // first pass int x = 145; if(isStrong(x)) { System.out.println("Yes"); } else System.out.println("No"); // second pass x = 534; if(isStrong(x)) { System.out.println("Yes"); } else System.out.println("No"); } }
Ini adalah satu lagi cara untuk mengetahui sama ada nombor itu adalah nombor yang kuat atau tidak. Di sini anda boleh mengambil input daripada pengguna semasa runtime dengan menggunakan argumen baris arahan. Logik di sini tetap sama, perbezaannya ialah input dihantar sebagai argumen semasa runtime. Output program ini sama ada YA atau TIDAK, bergantung pada nombor itu adalah nombor yang kuat atau tidak.
Output:
Program di sini menyemak dua nombor, sama ada nombor itu kuat atau tidak. Di sini ia mengetahui faktorial semua digit dari 0 hingga 9. Fungsi isStrong kemudian mengesahkan jika nombor itu kuat atau tidak. Ia akan merentasi semua digit nombor yang diberikan sehingga mod wujud. Fungsi utama di sini mengesahkan jika fungsi precompute() memberikan hasil yang betul. Dua nombor diterima daripada pengguna, yang menyebabkan menyemak dan memberikan sama ada nombor itu adalah nombor yang kuat atau tidak. Fungsi utama mula-mula memanggil fungsi, yang mengira faktorial setiap digit. Fungsi isStrong() kemudian menyemak jumlah faktorial setiap digit. Ia juga mengiranya dan mengembalikan hasil dalam nilai Boolean, iaitu benar atau palsu. Secara utama, hanya lulus nombor akan memberikan hasil seperti output yang disebutkan. Jika nombor kukuh benar akan dikembalikan oleh fungsi isStrong, dan jika tidak, palsu akan dikembalikan.
Nombor kuat ialah nombor yang jumlah pemfaktoran setiap digit ialah nombor itu sendiri. Fungsi java biasa, atau fungsi menggunakan nilai Boolean atau dengan hanya menghantar nombor sebagai argumen, nombor yang kuat boleh dikenal pasti. Logiknya menggunakan operasi mudah seperti mod, pembahagian dan penambahan.
Atas ialah kandungan terperinci Nombor Kuat di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!