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

Kiểm tra xem một số có phải là Số Krishnamurthy hay không trong C ++

Ở đây chúng ta sẽ xem cách kiểm tra một số có phải là số Krishnamurty hay không. Một số là số Krishnamurty, nếu tổng giai thừa của mỗi chữ số bằng số. Ví dụ, nếu một số là 145, thì sum =1! + 4! + 5! =1 + 24 + 120 =145. Đây là số Krishnamurty,

Logic rất đơn giản, chúng ta phải tìm giai thừa của mỗi số và tìm tổng, sau đó nếu số đó giống với một số nhất định, thì số đó là số Krishnamurty. Hãy cho chúng tôi xem mã để hiểu rõ hơn.

Ví dụ

#include <iostream>
#include <cmath>>
using namespace std;
long factorial(int n){
   if(n <= 1){
      return 1;
   }
   return n * factorial(n - 1);
}
bool isKrishnamurty(int number) {
   int temp = number;
   int sum = 0;
   while(number > 0){
      sum += factorial(number % 10);
      number /= 10;
   }
   if(sum == temp){
      return true;
   }
   return false;
}
int main() {
   int n = 145;
   if(isKrishnamurty(n)){
      cout << n << " is Krishnamurty Number";
   } else {
      cout << n << " is not Krishnamurty Number";
   }
}

Đầu ra

145 is Krishnamurty Number