当前位置: 首页 > news >正文

公司门户网站项目模版上海市质量工程建设管理协会网站

公司门户网站项目模版,上海市质量工程建设管理协会网站,网站运营系统,中文域名注册管理办法目录 1.杨辉三角形定义 2.用数组实现10层的杨辉三角形 3.使用List泛型链表集合设计10层的杨辉三角形 #xff08;1#xff09;代码解释#xff1a; #xff08;2#xff09;算法中求余的作用 4.使用List泛型链表集合设计10层的等腰的杨辉三角形 1.杨辉三角形定义 杨…目录 1.杨辉三角形定义 2.用数组实现10层的杨辉三角形 3.使用List泛型链表集合设计10层的杨辉三角形 1代码解释 2算法中求余的作用 4.使用List泛型链表集合设计10层的等腰的杨辉三角形 1.杨辉三角形定义 杨辉三角是一个由数字排列成的三角形数表其最本质的特征是它的两条边都是由数字1组成的而其余的数则等于它上方的两个数之和。 杨辉三角有两种常用的表示形式。 2.用数组实现10层的杨辉三角形 程序使用嵌套的for循环创建一个2D数组并根据行和列索引为其填充适当的值。         用于生成三角形的算法称为杨辉算法这是一种使用仅使用上一行的元素计算杨辉三角的元素的高效方法。程序首先将三角形的前两行的所有元素设置为1。对于每后续行程序将第一个和最后一个元素设置为1并通过将上一行中上面的两个元素相加来计算剩余元素。  // 10层的杨辉三角形 namespace _150_3 {internal class Program{private static void Main(string[] args){ArgumentNullException.ThrowIfNull(args);// 向数组中记录杨辉三角形的值int[][] Array_int new int[10][]; //定义一个10行的二维数组for (int i 0; i Array_int.Length; i) //遍历行数{Array_int[i] new int[i 1]; //定义二维数组的列数for (int j 0; j Array_int[i].Length; j)//遍历二维数组的列数{if (i 1) //如果是数组的前两行{Array_int[i][j] 1; //将其设置为1continue;}else{if (j 0 || j Array_int[i].Length - 1)//如果是行首或行尾Array_int[i][j] 1;//将其设置为1elseArray_int[i][j] Array_int[i - 1][j - 1] Array_int[i - 1][j];//根据杨辉算法进行计算}}}// 输出杨辉三角形for (int i 0; i Array_int.Length; i){for (int j 0; j Array_int[i].Length; j)Console.Write({0}\t, Array_int[i][j]);Console.WriteLine();}Console.ReadLine();}} } //运行结果 /* 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1*/ 3.使用Listint泛型链表集合设计10层的杨辉三角形 // 使用Listint泛型链表集合设计10层的杨辉三角形 namespace _150 {class Program{static void Main(string[] args){ArgumentNullException.ThrowIfNull(args);int layer 10;ListListint pam [];for (int i 0; i layer; i){pam.Add([]);for (int j 0; j i; j){if (i 0){pam[i].Add(1);}else if (i 1){pam[i].Add(j 0 ? 1 : 1);}else{pam[i].Add(j 0 || j i ? 1 : (pam[i - 1][j - 1] pam[i - 1][j]) % 1000000007);}}}foreach (var row in pam){foreach (var num in row){Console.Write({0}\t, num);}Console.WriteLine();}}} } //运行结果 /* 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1*/ 1代码解释 首先定义了一个ListListint泛型链表集合pam用于存储杨辉三角形的每一层。然后使用两个嵌套的for循环分别遍历每一层和每一列根据新的杨辉三角形规律计算每个位置的数字。第一行只有一个元素1第二行有两个元素1和1从第三行开始的每行首尾元素为1其余元素等于上一行其正上方相邻2元素和。最后使用foreach循环遍历链表集合pam打印出每个列表中的每个数字即为10层的杨辉三角形。 2算法中求余的作用 //为什么有这个求余 pam[i].Add(j 0 || j i ? 1 : (pam[i - 1][j - 1] pam[i - 1][j]) % 1000000007); 这个求余运算% 1000000007是用来避免整数溢出的。 在计算每个位置的数字时如果直接进行加法运算当数字变得非常大时可能会超过整数的最大值导致整数溢出。为了避免这个问题我们使用了一个大数运算的方法即将每个数字对一个很大的数进行求余运算这样可以保证结果始终在一个较小的范围内避免整数溢出。 这个求余运算的值1000000007是一个质数选择一个质数作为求余运算的值可以保证运算结果的唯一性和周期性即对于任意两个不同的正整数a和b它们对1000000007取余的结果也是不同的且a和b的和对1000000007取余的结果等于(a b) % 1000000007这保证了运算结果的正确性。 4.使用Listint泛型链表集合设计10层的等腰的杨辉三角形 // 用泛型链表列设计的等腰的杨辉三角形 namespace _150_2 {class Program{static void Main(string[] args){ArgumentNullException.ThrowIfNull(args);int layer 10;ListListint pam [];for (int i 0; i layer; i){pam.Add([]);for (int j 0; j i; j){if (i 0){pam[i].Add(1);}else if (i 1){pam[i].Add(j 0 ? 1 : 1);}else{pam[i].Add(j 0 || j i ? 1 : (pam[i - 1][j - 1] pam[i - 1][j]) % 1000000007);}}}int max_width 0;foreach (var row in pam){max_width Math.Max(max_width, row.Count);}for (int i 0; i layer; i){int width pam[i].Count;int padding (max_width - width) * 8 / 2;Console.Write(new string( , padding));for (int j 0; j width; j){Console.Write(pam[i][j].ToString().PadLeft(8));//每个数字8位}Console.WriteLine();}}} } //运行结果 /*11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 11 7 21 35 35 21 7 11 8 28 56 70 56 28 8 11 9 36 84 126 126 84 36 9 1*/ 代码解释 首先计算出杨辉三角形的最大宽度max_width即最大行数。然后在打印每一行时计算出该行需要填充的空格数padding即最大宽度减去当前行的宽度然后除以2因为左右两侧都需要填充空格。使用Console.Write(new string( , padding))输出填充的空格。接着使用嵌套的foreach循环遍历链表集合pam中的每个数字并使用Console.Write输出每个数字及占位。最后使用Console.WriteLine()换行以便开始下一行的输出。
http://www.pierceye.com/news/560806/

相关文章:

  • 响应式网站的几种尺寸推广网站的几种方法
  • php 打开网站东莞网站建设网页推广
  • 正品海外购网站有哪些公司网站开发费用兴田德润在哪儿
  • 怎样做编辑发到网站自由建网站的网络程序
  • 网站开发 卡片cms建站系统 下载
  • 新浪门户网站是谁做的科技网站建设
  • 免费网站建设合同书山西网站建设企业
  • 网站建设空间什么意思学做网站什么语言合适
  • 网站开发的形式有( )友情链接英文
  • 帝国网站管理系统前台免费photoshop下载
  • 深圳一百讯网站建设wordpress汉化包
  • 建设一个班级网站的具体步骤自己的网站源代码一片空白
  • 初创公司 建网站wordpress 模板获取数据库
  • 怎么在网站做推广不要钱六安网约车平台
  • 申晨推荐的营销网站做卖挖掘机的网站
  • 网站广告牌制作教程来几个好看的网站
  • php企业网站源码蓝色印度喜欢用什么框架做外贸网站
  • 网站建设教程最新资讯wordpress说说伪静态
  • 长春建站程序网络营销推广方法脑24金手指效率高
  • 专门做房地产设计的图片网站在安徽省住房和城乡建设厅网站
  • 怎样制作图片网站广告制作公司电话
  • 电子商城网站开发教程湖北网站建设路
  • 广告公司网站模版快速seo关键词优化技巧
  • whois哪个网站好WordPress判断文章形式
  • 昆明网站建设排名网站推广营销策划方案
  • 深圳网站建设中心手机端网站搭建
  • 提取卡密网站怎么做怎么更换网站的域名
  • 网站开发接单网站站内推广方案
  • 网站建设网站建什么网站做二手货车
  • 如何做淘宝客的网站网站建设 源代码