1、问题及代码
/*
*Copyright (c)2020,CSDN学院
*All rights reserved.
*文件名称:main.c
*作 者:李先声
*完成日期:2020年11月9日
*版 本 号:v1.0
*问题描述:数字游戏
【项目2: 0
n=a!+b!+c!】
求满足条件n=a!+b!+c!的所有三位数n并输出,其中a,b,c分别为n的百、十、个位数。
*/
#include <stdio.h>
int main( )
{
int n,i,j,k,a,b,c,fact_a,fact_b,fact_c;
for(n=100;n<1000;n++)
{
a=n/100;//百位数
fact_a=1;
for(i=1;i<=a;i++)
{
fact_a=fact_a*i;
}
b=(n%100)/10;//十位数
fact_b=1;
for(j=1;j<=b;j++)
{
fact_b=fact_b*j;
}
c=(n%100)%10;//个位数
fact_c=1;
for(k=1;k<=c;k++)
{
fact_c=fact_c*k;
}
if(n==fact_a+fact_b+fact_c)
{
printf("%d\t",n);
}
}
return 0;
}
2、运行结果