HDU:P2212-DFS[水题]
题目
思路
这个题目…一言难尽,照着题目说的敲一遍就能知道,其实,一共就四个数字。唯一要注意的就是0!=1。
代码
#include <stdio.h>
int fac[11];
int main(void)
{
long long sum;
fac[0] = 1;
fac[1] = 1;
for(int i = 2; i < 11; ++i) {
fac[i] = i*fac[i-1];
}
for(long i = 1; i < 2147483648; ++i) {
long t = i;
sum = 0;
while(t != 0) {
sum += fac[t%10];
t /= 10;
}
if(sum == i)
printf("%d\n", i);
}
return 0;
}
二次编码最后提交的结果
#include <stdio.h>
int main(void)
{
printf("1\n2\n145\n40585\n");
return 0;
}