在 C++ 中检查某个数字是否为 Krishnamurthy 数
c++server side programmingprogramming更新于 2024/9/22 23:33:00
在这里我们将了解如何检查某个数字是否为 Krishnamurty 数。如果每个数字的阶乘之和与该数字相同,则该数字为 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