在这里,我们将看到如何检查数字是否为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