#include <iostream>
using namespace std;
int main()
{
const int factorial[10] = { 1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880 };
int result = 0;
for ( int n = 10; n < 362880 * 7; ++n )
{
int m = n;
int sum = 0;
while ( m != 0 )
{
sum += factorial[m%10];
m /= 10;
}
if ( sum == n )
{
result += n;
}
}
cout << result << endl;
return 0;
}
http://projecteuler.net/problem=34 [Answer:40730]
最新推荐文章于 2024-08-04 21:55:23 发布
本文介绍了一段C++代码,该代码用于寻找并计算一类特殊的正整数之和,这些整数的有趣之处在于它们可以通过将自身各数字位上的阶乘值相加而得到。通过预定义的阶乘数组,程序遍历特定范围内的所有整数,检查每个数是否满足这一条件,并最终输出所有符合条件的整数之和。
5747

被折叠的 条评论
为什么被折叠?



