📅  最后修改于: 2023-12-03 14:59:51.419000             🧑  作者: Mango
在计算机科学中,强数字(Strong Number)也被称为Krishnamurthy 数字。它是一个自然数,其等于其各个数字的阶乘之和。下面是C++中的强数字代码示例。
#include<iostream>
using namespace std;
int fact(int n); //函数声明
//强数字函数
bool isStrong(int n)
{
int sum = 0;
int temp = n;
while (temp != 0)
{
sum += fact(temp % 10);
temp /= 10;
}
return (sum == n); //返回结果
}
//计算数的阶乘函数
int fact(int n)
{
if (n == 0 || n == 1)
return 1;
else
return n * fact(n - 1);
}
//主函数
int main()
{
int n;
cout << "输入一个数字: ";
cin >> n;
if (isStrong(n))
{
cout << n << "是强数字。" << endl;
}
else
{
cout << n << "不是强数字。" << endl;
}
return 0;
}
在上面的示例中,isStrong() 函数用于检查给定的数字是否是强数字,而 fact() 函数计算一个数字的阶乘。
输入一个数字: 145
145是强数字。
我们可以看到,程序已在运行时成功识别数字 145 为强数字,即:
1! + 4! + 5! = 145
因此,我们可以说C++程序员可以使用该代码示例来检查任何数字是否是强数字。