在C ++中检查数字是否为Krishnamurthy数字
在这里,我们将看到如何检查数字是否为Krishnamurty数字。如果每个数字的阶乘之和与该数字相同,则该数字为Krishnamurty数字。例如,如果数字为145,则sum=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