一个正整数如果等于组成它的各位数字的阶乘之和,该整数称为阶乘和数。 例如,145=1!+4!+5!,则145是一个三位阶详细和数。 请问:50000内共有多少个阶乘和数?所有的阶乘和数(按字典序,...


#include <stdio.h>
long jc(int x);

int main()
{
int a, b, c, d, e, f, g;
long m1, m2, m3, m4, m5, m6, n1, n2, n3, n4, n5, n6;
for(a = 1; a <= 9;a++)
{
if(a == jc(a))
printf("%d ",a);
for(b = 0;b <= 9; b++)
{
m1 = a * 10 + b;
n1 = jc(a) + jc(b);
if(m1 == n1)
printf("%ld ",m1);
for(c = 0;c <= 9; c++)
{
m2 = m1 * 10 + c;
n2 = n1 + jc(c);
if(m2 == n2)
printf("%ld ",m2);
for(d = 0; d <= 9; d++)
{
m3 = m2 * 10 + d;
n3 = n2 + jc(d);
if(m3 == n3)
printf("%ld ",m3);
for(e = 0; e <= 9; e++)
{
m4 = m3 * 10 + e;
n4 = n3 + jc(e);
if(m4 == n4)
printf("%ld ",m4);
for(f = 0; f <= 9; f++)
{
m5 = m4 * 10 + f;
n5 = n4 + jc(f);
if(m5==n5) printf("%ld ",m5);
for(g=0;g<=9;g++)
{
m6=m5*10+g;
n6=n5+jc(g);
if(m6==n6) printf("%ld ",m6);
}
}
}
}
}
}
}
}
long jc(int x)
{
int i;
long p=1;
for(i=1;i<=x;i++) p*=i;
return p;
}

 

转载于:https://www.cnblogs.com/minghaomaopao/p/10133320.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值