打印一个杨辉三角

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.每排的首尾都是1

2.第几排就有几个数

3.中间的数的值,是上面一排的正上方的数 + 前面一个数

function san ($num)
{
  $array = array();// 二维数组来存放所有的值  for($i = 0; $i < $num; $i ++) { // 确定有几行
    for($j = 0; $j <= $i; $j++ )  {//每一行几个数
      if($j == 0 || $j == $i) {// 首尾为1
        $array[$i][$j] = 1;
      } else {// 第i行的第j个数等于第i-1行的j个数加上第i-1行的第j-1个数
        $arr[$i][$j]=$arr[$i-1][$j]+$arr[$i-1][$j-1];
      }
      echo $arr[$i][$j]."\t";
    }
    echo "<br>";
  }
}            

原文地址:https://www.cnblogs.com/yangfei123/p/10107831.html

时间: 2024-10-10 15:13:42

打印一个杨辉三角的相关文章

用二维数组打印出杨辉三角

用二维数组打印出杨辉三角 首先你得知道二位数组和熟练二位数组,再次你得知道杨辉三角的规律! 相信能知道这个的,你已经掉了半只脚在这个坑了,不说废话直接上... 针对Javascript掌握基础的: 在电脑输入cmd命令打开控制器先要创建node'.js的环境: 你得把这个文件夹和你的js文件放在一起! js代码如下: 1 let readline = require("readline-sync"); 2 console.log("请输入杨辉三角的行数:"); 3

C语言打印出 杨辉三角

第三题: #include <stdio.h> #include<stdlib.h> int main() //打印 杨辉三角 { int arr[40][40], t = 0, i = 0, j = 0;  // t:高度 int temp = 0;  //temp就是t,表示高度 printf("请输入要打印的杨辉三角的高度(40以内):"); scanf("%d", &t); for (i = 0; i < t; i++)

打印十行杨辉三角

------------------------------------------------------------------------------------------------------ 打印出杨辉三角,可以根据它其中的一条性质来作为思想的入口:第i行的第j个数等于第i-1行的第j-1位加上第j位数,即a[i][j]=a[i-1][j-1]+a[i-1][j]. ----------------------------------------------------------

java打印等腰杨辉三角

//打印等腰杨辉三角形 public class YHTriangle { public static void main(String[] args) { //定义二维数组的长度 int length = 10; //声明二维数组 int[][] arr = new int[length][]; //遍历二维数组 for(int i = 0; i < arr.length; i++){ //打印空格 for(int m = 0; m < arr.length - 1 - i; m++){ S

利用Python的generator打印出杨辉三角

>>> def Pascal_triangle(n=10): L=[1] while n>0: yield L L=[x+y for x,y in zip([0]+L,L+[0])] n-=1 >>> for t in Pascal_triangle(): print(t) [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]

使用脚本打印杨辉三角

杨辉三角,是二项式系数在三角形中的一种几何排列. 使用shell 和python 打印杨辉三角,比较差异 shell: [email protected]:~# cat triangles.sh #!/bin/bash # Author: xieshengsen # 打印数学杨辉三角 if (test -z $1) ; then read -p "Input Max Lines:" Max else Max=$1 fi i=1 while [ $i -le $Max ] do j=1

C++杨辉三角完美打印输出

//杨辉三角 //编程:要求输入一个正整数,打印除杨辉三角,如输入5, //则输出 // 1 // 1 1 // 1 2 1 // 1 3 3 1 //1 4 6 4 1 #include <iostream> #include <deque> using namespace std; void Grial(int n) { int b[(1+n)*n/2]; //构造一个一维数组,为什么不构造二维数组呢?二维数组会浪费很多空间,有一半都用不上, //所以我选择1维数组来保存数字.

JAVA实现杨辉三角的三种方式

一.前言 既然是实现杨辉三角,就要知道什么是杨辉三角.如下图,就是两种杨辉三角. (1)等边形状的杨辉三角 (2)直角形状的杨辉三角 在知道这两种都是杨辉三角之后,我们就来实现利用java语言打印出杨辉三角. 二.杨辉三角的规律 第n行有n个数字. 每一行的开始和结尾数字都为1. 用二维数组表示就是a[i][0]=1;  a[i][j]=1(当i==j时): 第n+1行的第i个数字等于第n行的i-1个数字加上第n行的i个数字. 用二维数组表示就是 a[i+1][j]=a[i][j-1]+a[i]

HDU 5794 A Simple Chess(杨辉三角+容斥原理+Lucas)

题目链接 A Simple Chess 打表发现这其实是一个杨辉三角…… 然后发现很多格子上方案数都是0 对于那写可能可以到达的点(先不考虑障碍点),我们先叫做有效的点 对于那些障碍,如果不在有效点上,则自动忽略 障碍$(A, B)$如果有效,那么就要进行如下操作: 以这个点为一个新的杨辉三角的顶点,算出目标点的坐标$(x, y)$. 目标点的答案减去$C(A, B) * C(x, y)$的值. 但是这样会造成重复计算,原因是障碍之间可能有相互影响的关系. 这个时候就要考虑容斥原理,DFS消除这