C#,打印漂亮杨辉三角形(帕斯卡三角形)的源代码

杨辉 

Blaise Pascal 

这是某些程序员看完会哭的代码。

杨辉三角形(Yanghui Triangle),是一种序列数值的三角形几何排列,最早出现于南宋·数学家·杨辉1261年所著的《详解九章算法》一书。

欧洲学者,最先由帕斯卡(1623----1662)在1654年发现这一规律,故杨辉三角又称“帕斯卡三角形(Pascal Truangle)”。

图中暖色为偶数;冷色为奇数。

代码1:

private void button1_Click(object sender, EventArgs e)
{
    webBrowser1.DocumentText = Magic_Numbers.YangHui_Triangle(20);
}
 

private void button1_Click(object sender, EventArgs e)
{
    webBrowser1.DocumentText = Magic_Numbers.YangHui_Triangle(20);
}

代码2:

using System;
using System.Text;

namespace Legalsoft.Truffer.Algorithm
{
    public static partial class Magic_Numbers
    {
        public static string YangHui_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];
            last[0] = 1;
            for (int i = 1; i <= n; i++)
            {
                sb.AppendLine("<table><tr><td>");
                long[] array = new long[i];
                array[0] = 1;
                sb.AppendLine("<div class='n"+  (array[0]%2) +"'>" + array[0] + "</div>");
                for (int j = 1; j < i; j++)
                {
                    array[j] = last[j - 1] + last[j];
                    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();
        }
    }
}
 

using System;
using System.Text;

namespace Legalsoft.Truffer.Algorithm
{
    public static partial class Magic_Numbers
    {
        public static string YangHui_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];
            last[0] = 1;
            for (int i = 1; i <= n; i++)
            {
                sb.AppendLine("<table><tr><td>");
                long[] array = new long[i];
                array[0] = 1;
                sb.AppendLine("<div class='n"+  (array[0]%2) +"'>" + array[0] + "</div>");
                for (int j = 1; j < i; j++)
                {
                    array[j] = last[j - 1] + last[j];
                    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();
        }
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/349053.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Windows10上使Git Bash支持rsync命令操作步骤

rsync命令是linux上常用的工具之一&#xff0c;用于远程以及本地系统中拷贝/同步文件和文件夹。 Windows Git Bash默认并不支持rsync&#xff0c;如下图所示&#xff1a; 使Git Bash支持rsync命令操作步骤&#xff1a; 1.从https://repo.msys2.org/msys/x86_64/ 下…

1.26寒假集训

A: 解题思路&#xff1a; 只有一行一列的时候输出1&#xff0c;多列就输出2 有多行多列的时候&#xff0c;输出4 下面是c代码&#xff1a; #include<iostream> using namespace std; int main() {long long n,m,t;cin >> t;while(t ! 0){cin >> n >&g…

java安装,从java1.8升级到java11.0,java,javac,javaw,javaws,jdk,jre

最近在学习 PyFlink&#xff0c;需要安装Java11环境&#xff0c;但是本机已经安装了java1.8&#xff0c;在升级的过程中遇到了一些问题&#xff0c;在这里记录一下。 windows下安装JDK11 下载JDK11&#xff1a;https://www.oracle.com/java/technologies/downloads/#java11-w…

【SVD生成视频+可本地部署】ComfyUI使用(二)——使用Stable Video Diffusion生成视频 (2023.11开源)

SVD官方主页 &#xff1a; Huggingface | | Stability.ai || 论文地址 huggingface在线运行demo : https://huggingface.co/spaces/multimodalart/stable-video-diffusion SVD开源代码&#xff1a;Github&#xff08;含其他项目&#xff09; || Huggingface 在Comfyui使用&…

[bat]基于msg的弹窗提示

一、方案 1、定时自动消失的弹窗 代码&#xff1a; echo off echo method 1 msg * /time:5 "123456" REM echo method 2 REM msg * "123456"pause 效果&#xff1a; 立即弹窗在5秒后消失。 2、一直存在的弹窗 源码&#xff1a; echo off REM echo m…

方法重载与方法重写差别

写在开头 请聊一聊Java中方法的重写和重载&#xff1f; 这个问题应该是各大厂面试时问的最多的话题之一了&#xff0c;它们几乎贯穿了我们日常的开发工作&#xff0c;在过往的博客中我们多多少少都提到过重载与重写&#xff0c;而今天我们就一起来详细的学习一下这二者的功能与…

【Elsevier】中科院2区SCI,仅3个月录用!接收领域广!

关注公主号【SciencePub学术】&#xff0c;发现期刊更多精彩~ 1 数据处理类SCIE&#xff08;高质量&#xff09; 【期刊简介】IF&#xff1a;6.5-7.0&#xff0c;JCR1区&#xff0c;中科院2区&#xff1b; 【出版社】Elsevier出版社 【版面情况】正刊&#xff0c;仅5篇版面…

jetson-inference----docker内运行分类任务

系列文章目录 jetson-inference入门 jetson-inference----docker内运行分类任务 文章目录 系列文章目录前言一、进入jetson-inference的docker二、分类任务总结 前言 继jetson-inference入门 一、进入jetson-inference的docker 官方运行命令 进入jetson-inference的docker d…

Github 2024-01-26 开源项目日报Top10

根据Github Trendings的统计&#xff0c;今日(2024-01-26统计)共有10个项目上榜。根据开发语言中项目的数量&#xff0c;汇总情况如下&#xff1a; 开发语言项目数量Python项目4Jupyter Notebook项目2HTML项目1Shell项目1Dockerfile项目1非开发语言项目1Go项目1Rust项目1 高级…

最小覆盖子串(Leetcode76)

例题&#xff1a; 分析: 比如现在有字符串&#xff08;s&#xff09;&#xff0c;s "ADOBECODEBANC", 给出目标字符串 t "ABC", 题目就是要从原始字符串&#xff08;s&#xff09;中找到一个子串&#xff08;res&#xff09;可以覆盖目标字符串 t &…

vue3预览pdf文件的几种方法

vue3预览pdf集中方法 方法一&#xff1a; iframe&#xff1a;这种方法显示有点丑 <iframesrc"E:\\1.pdf"frameborder"0"style"width: 80%; height: 100vh; margin: auto; display: block"></iframe>方法二&#xff1a; 展示效果&…

【C++】wxWidgets编程的程序入口点

在wxWidgets中&#xff0c;程序的入口点通过wxIMPLEMENT_APP宏定义来设置&#xff0c;该宏会扩展为一个实现了main函数或者在Windows上是WinMain函数的代码。wxIMPLEMENT_APP宏与wxDECLARE_APP宏一起使用来设置基于wxWidgets的应用程序的启动代码。 使用wxIMPLEMENT_APP宏通常是…

【AI Agent系列】【MetaGPT】9. 一句话订阅专属信息 - 订阅智能体进阶,实现一个更通用的订阅智能体(2)

文章目录 0. 前置推荐阅读和本文内容0.1 前置推荐阅读0.2 本文内容 1. 修改一&#xff1a;直接用大模型获取网页信息&#xff0c;不用爬虫程序1.1 我们要给大模型什么内容1.2 提取网页文本信息1.3 组织Action1.4 完整代码及细节注释1.5 可能存在的问题及思考 2. 修改二&#xf…

实体识别与分类方法综述

目录 前言1 实体识别简介2 基于模板和规则的方法3 基于序列标注的方法3.1 常见序列标注模型3.2 模型参数估计和学习问题3.3 常见序列预测模型 4. 基于深度学习的实体识别方法5 基于预训练语言模型的实体识别5.1 BERT、GPT等预训练语言模型5.2 解码策略 6 特殊问题与挑战6.1 标签…

视频渲染靠cpu还是显卡 会声会影视频渲染的作用是什么

视频渲染最占用的资源就是CPU&#xff0c;多核心多线程&#xff0c;这样才能渲染快。渲染可以在时间线上实时平滑预览&#xff0c;便于编辑&#xff0c;最终导出成片的时候速度也会快一些&#xff0c;渲染就是对每桢的图像进行重新优化的过程。 渲染的作用主要是能够保证使用者…

C#使用RabbitMQ-2_详解工作队列模式

简介 &#x1f340;RabbitMQ中的工作队列模式是指将任务分配给多个消费者并行处理。在工作队列模式中&#xff0c;生产者将任务发送到RabbitMQ交换器&#xff0c;然后交换器将任务路由到一个或多个队列。消费者从队列中获取任务并进行处理。处理完成后&#xff0c;消费者可以向…

outlook如何群发邮件?外贸邮件群发教程?

outlook邮箱群发邮件方法&#xff1f;outlook怎么设置邮件群发&#xff1f; 如果你正在使用Outlook&#xff0c;那么你一定想要知道如何有效地群发邮件。Outlook作为微软办公套件的一部分&#xff0c;不仅功能强大&#xff0c;而且操作简便。下面&#xff0c;蜂邮EDM就来详细讲…

vscode开发FPGA(1)---TEROS_HDL插件报错

一、TerosHDL:modelsim(vlog-66)报错 Error: (vlog-66) Execution of vlib.exe failed 解决办法&#xff1a; 1.新建modelsim工程&#xff0c;并随意编译一个.v文件&#xff0c;将产生的work目录复制到modelsim安装路径下。 2.再将vscode设置verilog>linting>modelsim…

vue3 + jeecgBoot 获取项目IP地址

封装的useGlobSetting 函数 引入并使用 import { useGlobSetting } from //hooks/setting;const glob useGlobSetting();console.log(glob.uploadUrl) //http://192.168.105.57:7900/bs-axfd

docker的资源限制(cgroup)

前瞻 Docker 通过 Cgroup 来控制容器使用的资源配额&#xff0c;包括 CPU、内存、磁盘三大方面&#xff0c; 基本覆盖了常见的资源配额和使用量控制。 Cgroup 是 ControlGroups 的缩写&#xff0c;是 Linux 内核提供的一种可以限制、记录、隔离进程组所使用的物理资源(如 CPU、…