Computer >> Máy Tính >  >> Lập trình >> lập trình C

C Chương trình tìm số đã cho có mạnh hay không

Số mạnh là một số, trong đó tổng giai thừa của các chữ số bằng chính số đó.

Ví dụ

  • 123! =1! +2! +3!

=1 + 2 + 6 =9

Ở đây, 123 không phải là một số mạnh vì tổng giai thừa của các chữ số không bằng chính số đó.

  • 145! =1! +4! +5!

=1 + 24 + 120

=145

Ở đây, 145 là một số mạnh vì tổng giai thừa của các chữ số bằng chính số đó.

Logic mà chúng tôi sử dụng để tìm liệu số đã cho có mạnh hay không như sau -

 while (n) {i =1, fact =1; rem =n% 10; while (i <=rem) {fact =fact * i; i ++; } sum =sum + fact; n =n / 10;} if (sum ==temp) printf ("% d là một số mạnh \ n", tạm thời); else printf ("% d không phải là một số mạnh \ n", tạm thời);  

Chương trình

Sau đây là chương trình C để tìm xem số đã cho có mạnh hay không -

 #include  int main () {int n, i; int thực tế, rem; printf ("\ nNhập một số:"); scanf ("% d", &n); printf ("\ n"); int sum =0; int temp =n; while (n) {i =1, fact =1; rem =n% 10; while (i <=rem) {fact =fact * i; i ++; } sum =sum + fact; n =n / 10; } if (sum ==temp) printf ("% d là một số mạnh \ n", temp); else printf ("% d không phải là số mạnh \ n", tạm thời); trả về 0;} 

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

 Lần 1:Nhập một số:145145 là một số mạnh Lượt 2:Nhập một số:2525 không phải là một số mạnh