c#的知识点阶乘之和的问题

c#编一个程序,求20以内能被3整除的数的阶乘之和

如有帮助,请点击我回答右上角【采纳】按钮

using System;
namespace jiechengDemo{
  class Program{
    public static long intFact(int n){
      if (n == 0)
        return 1;
      else
        return n * intFact(n - 1);
    }
    static void Main(string[] args){
      long sum = 0;
      for (int i = 1; i <=20;i++){
        if(i%3==0){
          sum += intFact(i);
        }
      }
      Console.WriteLine(sum);
      Console.Read();
    }
  }
}
using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            int sum = 0;
            int n = 20;
            for (int i = 1; i <= n; i++)
            {
                int temp = 1;
                for (int j = 1; j <= i; j++)
                {
                    temp *= j;
                }
                sum += temp;
            }
            Console.WriteLine(sum);
            Console.ReadKey();

        }
    }
}

img

    [HttpPost]
    public void Test()
    {
        //求1-20能被3整除的数的阶乘之和
        long sum = 0;
        for (int n = 1; n * 3 < 20; n++)
        {
            var factorialData = factorial(n * 3);
            Console.WriteLine($"3的倍数{n * 3} 阶乘结果{factorialData}");
            sum += factorialData;
        }

        long factorial(int n) => n switch
        {
            0 => 1,
            _ => n * factorial(--n),
        };
        Console.WriteLine($"求和{sum}");

    }

img