当前位置:网站首页>C, print the source program of beautiful bell triangle

C, print the source program of beautiful bell triangle

2022-04-23 20:59:00 Deep confusion

With Bell count Based on , Reference resources Yanghui triangle , It can also generate Bell triangle (Bell triangle), Also known as Aitken array (Aitken's Array), Piece triangle (Peirce Triangle).

Bell triangle Construction method of :
(1) The first element in the first line is 1, namely a[1][1] = 1
(2) about n>1, The first n The first item of the line is equal to the n-1 Line last item , namely a[n][1] = a[n-1][n-1];
(3) about m,n>1, The first n Xing di m The term is equal to the sum of the two numbers on its left and upper left , namely a[n][m] = a[n][m-1] + a[n-1][m-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 (Bell triangle)
        ///  Aitken array (Aitken's Array)
        ///  Piece triangle (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

版权声明
本文为[Deep confusion]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/113/202204232049142274.html