C趣味程序(二)(04)求三位阶乘和数

文章作者 100test 发表时间 2007:03:10 17:33:23
来源 100Test.Com百考试题网


1.5 阶乘和数
一个正整数如果等于组成它的各位数字的阶乘之和,该整数称为阶乘和数。
例如,145=1! 4! 5!,则145是一个三位阶详细和数。是否还有其它三位阶乘和数?共有多少个阶乘和数?

1.5.1 求三位阶乘和数
试求出所有三位阶乘和数:m=abc=a! b! c!(其中a为百位数字,b为十位数字,c为个位数字。约定0!=1)。
算法分析如下:
通过循环累乘设计一个求阶乘的函数:jc(x)=x!
对任意一个三位数m,分解其百位数字a,十位数字b,个位数字c。条件差判别:若m等于jc(a) jc(b) jc(c),则作打印输出。也可通过a,b,c三重循环组合为三位数m=a*100 b*10 c,然后作条件判别。
#include
long jc(int x).
void main()
{
int a,b,c,m,n.
printf("三位阶乘和数有:").
for(a=1.a<=9.a ) /*a,b,c分别为三位数的百位、十位、个位数字*/
for(b=0.b<=9.b )
for(c=0.c<=9.c )
{
m=a*100 b*10 c.
n=jc(a) jc(b) jc(c). /*阶乘和条件判别*/
if(m==n) printf("%d\n",m).
}
}
long jc(int x)
{
int i.
long p=1.
for(i=1.i<=x.i )
p*=i.
return p.
}
程序运行结果:
三位阶乘和数有:145

注:可见三位阶乘和数只有一个 145

相关文章


全国计算机等级考试二级Access考点分析之报表(1)
全国计算机等级考试二级Access考点分析之窗体(2)
C趣味程序(二)(04)求三位阶乘和数
全国计算机等级考试有重大变化
计算机等级考试今年大幅调整一级笔试取消
C趣味程序(二)(04)求所有阶乘和数
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛