
以贝尔数为基础,参考杨辉三角形,也可以生成贝尔三角形(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];
  

1 文本格式
using System;
 using System.Text;
 using System.Collections;
 using System.Collections.Generic;
namespace Legalsoft.Truffer.Algorithm
 {
     public static partial class Number_Sequence
     {
         /// <summary>
         /// 贝尔三角形(Bell triangle)
         /// 艾特肯阵列(Aitken's Array)
         /// 皮埃斯三角形(Peirce Triangle)
         /// </summary>
         /// <param name="n"></param>
         /// <returns></returns>
         public static string Bell_Triangle(int n)
         {
             StringBuilder sb = new StringBuilder();
             sb.AppendLine("<style>");
             sb.AppendLine(".n0 { float:left;width:90px;height:25px;line-height:25px;font-size:14px;text-align:center;border:dotted 1px #993333;background-color:#FFF9F9;margin-right:10px;margin-bottom:10px; } ");
             sb.AppendLine(".n1 { float:left;width:90px;height:25px;line-height:25px;font-size:14px;text-align:center;border:dotted 1px #333399;background-color:#F9F9FF;margin-right:10px;margin-bottom:10px; } ");
             sb.AppendLine("</style>");
             sb.AppendLine("<center>");
             long[] last = new long[n + 1];
             long[] array = new long[n + 1];
             last[0] = 1;
             for (int i = 1; i <= n; i++)
             {
                 sb.AppendLine("<table><tr><td>");
                 array[0] = (i > 1) ? last[i - 2] : last[i - 1];
                 sb.AppendLine("<div class='n" + (array[0] % 2) + "'>" + array[0] + "</div>");
                 for (int j = 1; j < i; j++)
                 {
                     array[j] = array[j - 1] + last[j - 1];
                     sb.AppendLine("<div class='n" + (array[j] % 2) + "'>" + array[j] + "</div>");
                 }
                 for (int j = 0; j < i; j++)
                 {
                     last[j] = array[j];
                 }
                 sb.AppendLine("</td></tr></table>");
             }
             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
    {
        /// <summary>
        /// 贝尔三角形(Bell triangle)
        /// 艾特肯阵列(Aitken's Array)
        /// 皮埃斯三角形(Peirce Triangle)
        /// </summary>
        /// <param name="n"></param>
        /// <returns></returns>
        public static string Bell_Triangle(int n)
        {
            StringBuilder sb = new StringBuilder();
            sb.AppendLine("<style>");
            sb.AppendLine(".n0 { float:left;width:90px;height:25px;line-height:25px;font-size:14px;text-align:center;border:dotted 1px #993333;background-color:#FFF9F9;margin-right:10px;margin-bottom:10px; } ");
            sb.AppendLine(".n1 { float:left;width:90px;height:25px;line-height:25px;font-size:14px;text-align:center;border:dotted 1px #333399;background-color:#F9F9FF;margin-right:10px;margin-bottom:10px; } ");
            sb.AppendLine("</style>");
            sb.AppendLine("<center>");
            long[] last = new long[n + 1];
            long[] array = new long[n + 1];
            last[0] = 1;
            for (int i = 1; i <= n; i++)
            {
                sb.AppendLine("<table><tr><td>");
                array[0] = (i > 1) ? last[i - 2] : last[i - 1];
                sb.AppendLine("<div class='n" + (array[0] % 2) + "'>" + array[0] + "</div>");
                for (int j = 1; j < i; j++)
                {
                    array[j] = array[j - 1] + last[j - 1];
                    sb.AppendLine("<div class='n" + (array[j] % 2) + "'>" + array[j] + "</div>");
                }
                for (int j = 0; j < i; j++)
                {
                    last[j] = array[j];
                }
                sb.AppendLine("</td></tr></table>");
            }
            return sb.ToString();
        }
    }
}



















