希望可以用c#表达写出算法

编一程序用以输出所有各位数码阶乘之和等于其自身的三位数。
如: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,写个思路你看看。