1. 设计一控制台应用程序,求多项式 1!+2!+3!+……+15!的值。

解决方案 »

  1.   

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

  2.   

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;namespace CSharp
    {
        class Program
        {
            static void Main(string[] args)
            {
                int sum = 0;
                for (int i = 1; i <= 15; i++)
                {
                    int t = 1;
                    for (int j = 1; j <= i; j++)
                    {
                        t = t * j;
                    }
                    sum += t;
                }
                Console.WriteLine(sum);
            }
        }
    }
      

  3.   

        static void Main(string[] args)
            {
                long sum = 0;
                long tempResult;
                for (int i = 1; i <= 15; i++)
                {
                    tempResult = 1;
                    for (int j = 1; j <= i; j++)
                    {
                        tempResult *= j;
                    }
                    sum += tempResult;
                }
                Console.WriteLine("1--15的阶乘和是:"+sum);
            }
      

  4.   


    public int factorial(int m)  // 阶乘
    {
        int sum = 0;             // 和
        for (int i; i < m; i++)
        {
            int product = 0;     //乘积
            for (int j = 1; j <= i; j++)
            {
                product *= j;
            }        sum += product;
        }
        return sum;
    }
      

  5.   


     class Program
        {
            static void Main(string[] args)
            {
                int sum = 0;
                for (int i = 0; i < 16; i++)
                {
                    sum = Fact(i) + sum;
                    Console.WriteLine(sum);
                }
                Console.ReadLine();
            }
            public static int Fact(int i)
            {
                if (i < 0)
                {
                    throw new ArgumentOutOfRangeException("n必须为非负数。");
                }
                if (i == 0)
                {
                    return 1;
                }
                return i * Fact(i - 1);
            }
        }
      

  6.   


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;namespace jiecheng
    {
        class Program
        {
            static void Main(string[] args)
            {
                long sum = 0;
                for (int i = 1; i <= 15; i++)
                {
                    long temp = 1;
                    for (int j = 1; j <= i; j++)
                    {
                        temp *= j;
                    }
                    sum += temp;
                }
                Console.WriteLine(sum);
                Console.ReadKey();
            }
        }
    }因为int型的范围是-2147483648~2147483647
    1!加到15!范围超过了这个范围,所以计算的时候不能用int,可以使用long,如果在大的话,可以使用double等类型
      

  7.   


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;namespace ConsoleApplication8
    {
        class Program
        {
            static void Main(string[] args)
            { 
                int a =0;
                int j = 1;
                int sum = 0;
                Console.WriteLine("0的阶乘{0}",j);
                Console.WriteLine("阶乘公式:n!=n×(n-1)!");
                for (int i = 1; i < 16; i++)
                {
                     a= i * j;
                    j = a;
                    sum += a;
                    Console.WriteLine(i.ToString() + "的阶乘为"+a.ToString());
                }
                Console.WriteLine("总和为:"+sum.ToString());
                Console.ReadKey();        }
        }
    }
      

  8.   


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;namespace ConsoleApplication8
    {
        class Program
        {
            static void Main(string[] args)
            { 
                Int64 a =0;
                Int64 j = 1;
                Int64 sum = 0;
                Console.WriteLine("0的阶乘{0}",j);
                Console.WriteLine("阶乘公式:n!=n×(n-1)!");
                for (Int64 i = 1; i < 16; i++)
                {
                     a= i * j;
                    j = a;
                    sum += a;
                    Console.WriteLine(i.ToString() + "的阶乘为"+a.ToString());
                }
                Console.WriteLine("总和为:"+sum.ToString());
                Console.ReadKey();        }
        }
    }
    //更正一下前面的都不对,这个才对,要用到Int64位的才可以正确显视
      

  9.   

    using System;
    using System.Collections.Generic;
    using System.Text;namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                int i = 0;
                int j = 0;
                int times = 1;//阶乘
                int counter = 0;//累加
                for (i = 1; i <= 15; i++)
                {
                    for (j = 1; j <= i; j++)
                    {
                        times *= j;
                    }
                    counter += times;
                    times = 1;
                }
                Console.WriteLine("1!+2!+...+15!=" + counter.ToString("d"));//1443297817
            }
        }
    }
      

  10.   

    在 Console.WriteLine("1!+2!+...+15!=" + counter.ToString("d"));//1443297817 
    后面加个 Console.ReadKey(); 避免直接显示完结果就退出