杨辉三角形问题

问题:打印出杨辉三角形的前n行(n<20)。

回答:

#include <stdio.h>
int main() {
    int n;
    scanf("%d",&n);
    int arr[25][25];
    int i,j;
    //计算每一行的值
    arr[1][1] = 1;
    for( i=2; i<=20; i++){
        arr[i][1] = arr[i][i] = 1;
        for( j=2; j<i; j++){
            arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
        }
    }

for( i=1; i<=n; i++){
        //打印开头的空格
        for( j=1; j<=n-i; j++) printf(" ");
        for( j=1; j<=i; j++){
            printf("%d ",arr[i][j]);
        }
        puts("");
    }
    return 0;
}

时间: 2024-11-03 22:05:45

杨辉三角形问题的相关文章

打印杨辉三角形的前10行。

打印杨辉三角形的前10行.杨辉三角形如下图: 1                      1 1   1                   1  1 1   2   1                1  2  1 1   3   3   1             1  3  3  1 1   4   6   4   1           1  4  6  4  1 [图5-1]                  [图5-2] [问题分析]观察图5-1,大家不容易找到规律,但是如果将它转

蓝桥杯 BASIC-4~6 数列特征、查找整数、杨辉三角形

数列特征 [AC代码]: #include <iostream> #include <algorithm> using namespace std; #define MAX 10000+10 int main() { int n = 0, i = 0; int num[MAX]; cin >> n; for (i = 0; i < n; i++) cin >> num[i]; int mmin = num[0], mmax = num[0], sum

塔形“杨辉三角形”

以下内容纯手打 因为没有套入到Eclipse中 所以可能个别标点可能有问题 public class YangHuiTa{ public static void main (String[] args ){ int leveCount = 10 ; // 杨辉三角的层数 int [] [] yangHui= new int [leveCount][0]; // 创建一个二维数组来保存杨辉三角的值: // 用for循环为杨辉三角的每一层创建一个int 数组: for (int i=0; i <le

java 实现(代码) -- 水仙花数 + 杨辉三角形

1 /* 2 在控制台输出所有的“水仙花数” 3 水仙花:100-999 4 5 在以上数字范围内:这个数=个位*个位*个位+十位*十位*十位+百位*百位*百位 6 7 例如:xyz=x^3 +y^3 +z^3 8 9 怎么把三位数字拆成每位整数 10 11 思路:百位: int x= i / 100 12 十位: int y = i / 10 % 10 13 个位: int z = i % 10 14 15 */ 16 class LoopTest3 { 17 public static vo

打印杨辉三角形(0966)

p { margin-bottom: 0.25cm; line-height: 120% } 描述 杨辉三角形具有如下特征: 1.每行数字左右对称,由1开始逐渐变大,然后变小,回到1. 2.第n行的数字个数为n个. 3.第n行数字和为2^(n-1). 4.每个数字等于上一行的左右两个数字之和.可用此性质写出整个帕斯卡三角形. 5.将第2n+1行第1个数,跟第2n+2行第3个数.第2n+3行第5个数--连成一线,这些数的和是第2n个斐波那契数.将第2n行第2个数,跟第2n+1行第4个数.第2n+2

leetcode 生成杨辉三角形, 118 119 Pascal&#39;s Triangle 1,2

Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5, Return [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ] 解决方案: vector<vector<int>> generate(int numRows) { vector<vector<int>> res = {};

java实现打印杨辉三角形(帕斯卡三角形),打印10行

/**  * 打印杨辉三角形(帕斯卡三角形),打印10行  *  */ public class Yanghuisanjiao {     public static void main(String[] args) {         int [][] a = new int[11][11];         for (int i = 0 ; i < 10 ; i++) {             a[i][0] = 1;             a[i][i] = 1;         }

打印杨辉三角形(Pascal&#39;s triangle)——利用队列

打印杨辉三角形(Pascal's triangle)--利用队列 1. 杨辉三角的概念 杨辉三角,又称贾宪三角形,帕斯卡三角形,是二项式系数在三角形中的一种几何排列. 将二项式(a+b)i展开,其系数构成杨辉三角形(国外称Pascal's triangle),按行将展开式系数的前n行打印出来.从三角形的形状可知,除第1行以外,在打印第i行时,用到上一行(第i-1行)的数据,在打印第i+1行时,又用到第i行的数据. 注:在欧洲,这个表叫做帕斯卡三角形.帕斯卡(1623--1662)是在1654年发

118. 119. Pascal&#39;s Triangle -- 杨辉三角形

118. Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5,Return [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ] class Solution { public: vector<vector<int>> generate(int numRows) { vector<vector<

杨辉三角形 递归与非递归

基础练习 杨辉三角形 时间限制:1.0s   内存限制:256.0MB 问题描述 杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数. 它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加. 下面给出了杨辉三角形的前4行: 1 1 1 1 2 1 1 3 3 1 给出n,输出它的前n行. 输入格式 输入包含一个数n. 输出格式 输出杨辉三角形的前n行.每一行从这一行的第一个数开始依次输出,中间使用一个空格分隔.请不要在前面输出多余的空格. 样例输入 4 样例输出