C#,打印漂亮的贝尔三角形(Bell Triangle)的源程序

C#,打印漂亮的贝尔三角形(Bell Triangle)的源程序_第1张图片

贝尔数为基础,参考杨辉三角形,也可以生成贝尔三角形(Bell triangle),也称为艾特肯阵列(Aitken's Array),皮埃斯三角形(Peirce Triangle)。

贝尔三角形的构造方法:
(1)第一行第一个元素是1,即a[1][1] = 1
(2)对于n>1,第n行第一项等于第n-1行最后一项,即a[n][1] = a[n-1][n-1];
(3)对于m,n>1,第n行第m项等于它左边和左上方的两个数之和,即a[n][m] = a[n][m-1] + a[n-1][m-1];
 

C#,打印漂亮的贝尔三角形(Bell Triangle)的源程序_第2张图片

1 文本格式

using System;
using System.Text;
using System.Collections;
using System.Collections.Generic;

namespace Legalsoft.Truffer.Algorithm
{
    public static partial class Number_Sequence
    {
        ///


        /// 贝尔三角形(Bell triangle)
        /// 艾特肯阵列(Aitken's Array)
        /// 皮埃斯三角形(Peirce Triangle)
        ///

        ///
        ///
        public static string Bell_Triangle(int n)
        {
            StringBuilder sb = new StringBuilder();
            sb.AppendLine("");
            sb.AppendLine("
");
            long[] last = new long[n + 1];
            long[] array = new long[n + 1];
            last[0] = 1;
            for (int i = 1; i <= n; i++)
            {
                sb.AppendLine("
");
                array[0] = (i > 1) ? last[i - 2] : last[i - 1];
                sb.AppendLine("
" + array[0] + "
");
                for (int j = 1; j < i; j++)
                {
                    array[j] = array[j - 1] + last[j - 1];
                    sb.AppendLine("
" + array[j] + "
");
                }
                for (int j = 0; j < i; j++)
                {
                    last[j] = array[j];
                }
                sb.AppendLine("
");
            }
            return sb.ToString();
        }
    }
}
 

——————————————————————

POWER BY TRUFFER.CN

2 代码格式

using System;
using System.Text;
using System.Collections;
using System.Collections.Generic;

namespace Legalsoft.Truffer.Algorithm
{
    public static partial class Number_Sequence
    {
        /// 
        /// 贝尔三角形(Bell triangle)
        /// 艾特肯阵列(Aitken's Array)
        /// 皮埃斯三角形(Peirce Triangle)
        /// 
        /// 
        /// 
        public static string Bell_Triangle(int n)
        {
            StringBuilder sb = new StringBuilder();
            sb.AppendLine("");
            sb.AppendLine("
");             long[] last = new long[n + 1];             long[] array = new long[n + 1];             last[0] = 1;             for (int i = 1; i <= n; i++)             {                 sb.AppendLine("
");                 array[0] = (i > 1) ? last[i - 2] : last[i - 1];                 sb.AppendLine("
" + array[0] + "
");                 for (int j = 1; j < i; j++)                 {                     array[j] = array[j - 1] + last[j - 1];                     sb.AppendLine("
" + array[j] + "
");                 }                 for (int j = 0; j < i; j++)                 {                     last[j] = array[j];                 }                 sb.AppendLine("
");             }             return sb.ToString();         }     } }

 

你可能感兴趣的:(C#算法演义,Algorithm,Recipes,c#,算法)