Rumah > pembangunan bahagian belakang > C++ > Program C untuk menyemak nombor kuat

Program C untuk menyemak nombor kuat

WBOY
Lepaskan: 2023-09-07 09:09:12
ke hadapan
1006 orang telah melayarinya

Program C untuk menyemak nombor kuat

Diberi nombor 'n', kita perlu menyemak sama ada nombor yang diberikan adalah nombor kuat.

Nombor kuat ialah nombor yang jumlah faktorial semua nombornya adalah sama dengan nombor 'n'. Faktorial ialah hasil darab semua nombor yang kurang daripada nombor itu, termasuk nombor itu, dan diwakili oleh ! (tanda seru). Contohnya: 4! = 4x3x2x1 = 24.

Jadi untuk menentukan sama ada nombor itu kuat kita perlu mengekstrak setiap bit nombor tersebut, contohnya jika nombor itu 145 maka kita perlu mengeluarkan 1, 4 dan 5 dan kemudian kita akan mengira pemfaktoran setiap nombor iaitu 1 ! = 1, 4! = 24,5! =120.

Sekarang kita tambah 1 + 24 + 120 dan kita dapat 145, yang betul-betul sama dengan input yang diberikan, jadi kita boleh katakan bahawa nombor ini adalah kuat.

Contoh

Input: n = 124
Output: No it is not a strong number
Explanation: 1! + 2! + 4! = 27 which is not equal to n i.e, 124
Input: n = 145
Output: Yes it is a strong number
Explanation: 1! + 4! + 5! = 145
Salin selepas log masuk

Kaedah yang digunakan di bawah adalah seperti berikut untuk menyelesaikan masalah

Kami akan −

  • ambil setiap nombor bermula dari satu digit dan cari faktorialnya.
  • Kami menambah pemfaktoran nombor ini.
  • Bandingkan hasil dengan nombor asal, jika sama, nombor itu adalah nombor kuat;

Algoritma

START
In Function int factorial(int r)
   Step1 -> Initialize int fact and set as 1
   Step2-> Loop while r>1
      Set fact as fact * r
      Decremnet r by 1
   End Loop
   Step 3-> Return fact
   End Function factorial
In Function int check(int n)
   Step 1-> Initialize int temp, rem and result, set result as 0
   Step 2-> Set temp as n
   Step 3-> Loop while temp
      Set rem as temp % 10
      Set result as result + factorial(rem)
      Set temp as temp/10
   End loop
   Step 4-> If result == n then,
      Return 1
   Step 5-> Else
   Return 0
   End function check
In main(int argc, char const *argv[])
   Step 1-> Initialise and set n as 145
   Step 2->If check(n) is valid then,
      Print "Yes it is a strong number”
   Step 3-> Else
      Print "no it is not a strong number”
STOP
Salin selepas log masuk

Contoh

Demonstrasi Langsung

#include <stdio.h>
int factorial(int r) {
   int fact = 1;
   while(r>1) {
      fact = fact * r;
      r--;
   }
   return fact;
}
int check(int n) {
   int temp, rem, result = 0;
   temp = n;
   while(temp) {
      rem = temp % 10;
      result = result + factorial(rem);
      temp = temp/10;
   }
   if (result == n)
      return 1;
   else
      return 0;
}
int main(int argc, char const *argv[]) {
   int n = 145;
   if (check(n))
      printf("Yes it is a strong number</p><p>");
   else
      printf("no it is not a strong number</p><p>");
   return 0;
}
Salin selepas log masuk

Jika anda menjalankan kod di atas, output berikut akan dihasilkan −

Yes it is a strong number
Salin selepas log masuk

Atas ialah kandungan terperinci Program C untuk menyemak nombor kuat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan