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

P5732 【深基5.习7】杨辉三角

题目描述

给出 n ( n ≤ 20 ) n(n\le20) n(n20),输出杨辉三角的前 n n n 行。

如果你不知道什么是杨辉三角,可以观察样例找找规律。

输入格式

输出格式

样例 #1

样例输入 #1

6

样例输出 #1

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1

1.题目分析

考试的时候遇到过,当时没做出来,泪目。。。
定义一个二维数组能够很华丽的解决,主要是要发现其中的数学规律:
任意一行相邻两个数之和都等于两个数右下角的那个数,也就是个倒三角的图形。

2.题目思路

定义一个二维数组,将元素初始化为0。给第一行第二列赋值为1,值得一提的是,这里是故意在所有元素前面空了一列零,是方便在循环插入数据的时候,使用上述数据规律计算。
将和赋值给数组元素后,直接遍历打印非零元素即可。

3.代码演示

#include <stdio.h>int main() {int n;scanf("%d", &n);int arr[21][21] = {0};//给第一行赋值为1arr[0][1] = 1;for (int i = 0; i < n; ++i) {for (int j = 0; j < n; ++j) {//数学关系:任意一行相邻数相加等于右边的数的正下方的数arr[i + 1][j + 1] = arr[i][j] + arr[i][j + 1];}}//遍历数组,打印结果for (int i = 0; i < n; ++i) {for (int j = 1; j < n + 1; ++j) {//打印非零元素if (arr[i][j] != 0) {printf("%d ", arr[i][j]);}}printf("\n");}return 0;
}
http://www.lryc.cn/news/108748.html

相关文章:

  • ubuntu调整路由顺序
  • 集成学习算法是什么?如何理解集成学习?
  • npm配置最新淘宝镜像
  • 网络基础1
  • 2023年电赛---运动目标控制与自动追踪系统(E题)发挥题思路
  • 61 # http 数据处理
  • 模版下载和Excel文件导入
  • Datax 数据同步-使用总结(一)
  • 代码随想录算法训练营第九天| 232.用栈实现队列,225.用队列实现栈
  • 求解二次方程
  • 【hive 运维】hive注释/数据支持中文
  • 架构,性能和游戏 《游戏编程模式》学习笔记
  • Spring Bean的生命周期
  • 基于量子同态的安全多方量子求和加密
  • 前端自动化测试:确保质量和稳定性的关键步骤
  • 《Ansible自动化工具篇:Centos操作系统基于ansible工具一键远程离线部署之K8S1.24.12二进制版集群》
  • Java实现十大经典排序算法之快速排序
  • 【0803作业】创建两个线程:其中一个线程拷贝图片的前半部分,另一个线程拷贝后半部分(4种方法)
  • php运算符的短路特性
  • C语言假期作业 DAY 13
  • 以产品经理的角度去讲解原型图---会议OA项目
  • C++ 外部变量和外部函数
  • C# Onnx Paddle模型 OCR识别服务
  • MCUXpresso for VS Code -- 基于VSCode开发RT1176
  • MySQL的使用——【初识MySQL】第二节
  • MySQL最终弹-并发(脏读,不可重复读,幻读及区别),JDBC的使用和安装,最全万字
  • ⌈C++⌋从无到有了解并掌握C++面向对象三大特性——封装、继承、多态
  • Element的el-select下拉框多选添加全选功能
  • python调用pytorch的clip模型时报错
  • MySQL 数据库 binLog 日志的使用