Rumah  >  Artikel  >  Java  >  Nombor Kuat di Jawa

Nombor Kuat di Jawa

WBOY
WBOYasal
2024-08-30 16:27:10511semak imbas

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-olok

Nombor 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.

  • Ambil nombor yang ditentukan pengguna atau nombor sebagai input daripada pengguna. Simpan nombor ini dalam pembolehubah yang ditentukan pengguna. Sekarang salin nombor ini ke pembolehubah tetapan pengguna sementara yang lain. Pembolehubah ini akan digunakan untuk tujuan pengiraan. Anda boleh menamakan pembolehubah yang ditentukan pengguna sebagai ‘n’ dan pembolehubah sementara sebagai ‘temp_n’.
  • Sekarang mulakan pembolehubah lain yang akan menyimpan jumlah digit faktorial. Anda boleh menamakan pembolehubah ini sebagai 'jumlah'.
  • Anda juga perlu mencari digit terakhir nombor 'n' yang diberikan. Simpan hasil ini dalam pembolehubah yang akan menyimpan hasil, sebut ‘lastdig = n % 10’.
  • Kini anda boleh mencari pemfaktoran 'lastdig'. Kini anda boleh menyimpan pemfaktoran nombor ini dan menamakannya sebagai 'fakta_n'.
  • Setelah ini selesai, anda boleh menambah faktorial kepada 'jumlah'. Ini boleh dilakukan dengan menggunakan jumlah = jumlah + fakta_n.
  • Kini anda boleh mengalih keluar digit terakhir daripada 'n' kerana ia tidak akan diperlukan lagi.
  • Sekarang ulangi langkah dari langkah 3 hingga langkah 6 sehingga keadaan n > 0 berpuas hati.
  • Anda boleh menggunakan gelung untuk ini. Ia boleh digunakan untuk menyemak keadaan nombor yang kuat. Jika jumlah syarat == temp_n dipenuhi, maka nombor yang diberikan adalah nombor kuat, jika tidak, tidak.

Contoh Nombor Kuat di Jawa

Sangat mudah untuk melaksanakan logik nombor yang kuat di Jawa; mari kita lihat beberapa contoh di bawah.

Contoh #1

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:

Nombor Kuat di Jawa

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.

Contoh #2

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:

Nombor Kuat di Jawa

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.

Kesimpulan

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Program Anagram di JawaArtikel seterusnya:Program Anagram di Jawa