Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

숫자가 C++에서 Krishnamurthy 숫자인지 확인하십시오.

<시간/>

여기서 우리는 번호가 Krishnamurty 번호인지 확인하는 방법을 볼 것입니다. 각 숫자의 계승의 합이 숫자와 같으면 숫자는 크리슈나무르티 수입니다. 예를 들어 숫자가 145이면 합계 =1입니다! + 4! + 5! =1 + 24 + 120 =145. 이것은 Krishnamurty 수입니다.

논리는 간단합니다. 각 숫자의 계승을 찾고 합을 찾은 다음 주어진 숫자와 같으면 그 숫자는 Krishnamurty 숫자입니다. 더 나은 아이디어를 얻기 위해 코드를 살펴보겠습니다.

예시

#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";
   }
}

출력

145 is Krishnamurty Number