编一程序用以输出所有各位数码阶乘之和等于其自身的三位数。
如:145 (145=1!+4!+5!)。
static void Main()
{
int n,a,b,c;
long num;
for(n=100;n<=999;n++)
{
a=n/100;
num=fun(a);
b=n%100/10;
num += fun(b);
c=n%10;
num += fun(c);
if(num==n)
Console.WriteLine(num);
}
}
static long fun(int n)
{
long x=n--;
while(n>0)
x*=n--;
return x;
}
定义一个变量int n = 100;从100遍历到999,提取每个数的时候,提取百位用 n/100 得到百位,十位用n模除100再除以10: 得到十位数,个位用n模除10,可以得到。再用for循环 for(i=0;i<n;i++)算出每位数的阶乘。身边没有vscode,写个思路你看看。