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

[C++]杨辉三角

目录

题目

解题思路

代码实现

获取数字

打印函数

主函数

全部代码

运行结果


题目

给定一个非负整数numRows ,生成「杨辉三角」的前numRows行。
在「杨辉三角」中,每个数是它左上方和右上方的数的和。

解题思路

第k列的第i个数字的值第k-1列的(i-1)和i的和

由于数组是动态变化的没有固定大小

运用到容器(vector)

u1s1!

python会比c好打

代码实现

获取数字

获取数并且把它存储到容器中

void GetResult(int a)
{vector <vector<int>> sums;int b[1] = { 1 };int c[2] = { 1,1 };int d[3] = { 1,2,1 };vector <int> a_1(b,b+1);vector <int> a_2(c,c+2);vector <int> a_3(d,d+3);sums.push_back(a_1);sums.push_back(a_2);sums.push_back(a_3);for (int i = 3; i <= a - 1; i++){vector <int> sum ;for (int j = 0; j <= i; j++){if (j == 0 or j==i){sum.push_back(1);continue;}int sum_1 = 0;sum_1 = sums[i - 1][j-1] + sums[i - 1][j];sum.push_back(sum_1);}sums.push_back(sum);}printResult(sums);
}

这里是容器里面又装载了一个容器

实现创建一个可以动态变化大小的二维数组

第k列的第i个数字的值第k-1列的(i-1)和i的和

所以可以利用上一行的结果来计算数字

并且第1,2,3行要单独考虑

打印函数

不得不说要按要求打印还要自己写一个函数

因为c++不可以直接打印整个数组

所以要新建一个函数

void printResult(vector <vector<int>> sums)
{cout << "[";for(int i=0;i<=sums.size()-1;i++){if (i != 0)cout << ",";cout << "[";for (int j = 0; j <= sums[i].size()-1; j++){if (i != 0)cout << ",";cout << sums[i][j] ;}cout << "]";}cout << "]";
}

主函数

主函数为

int main()
{int a;cin >> a;if (a == 1)cout << "[1]" << endl;else if (a == 2)cout << "[[1],[1,1]]" << endl;else if (a == 3)cout << "[[1],[1,1][1,2,1]]" << endl;else if (a <= 0)exit(0);elseGetResult(a);
}

全部代码

#include <iostream>
#include <vector>
using namespace std;
void printResult(vector <vector<int>> sums)
{cout << "[";for(int i=0;i<=sums.size()-1;i++){if (i != 0)cout << ",";cout << "[";for (int j = 0; j <= sums[i].size()-1; j++){if (i != 0)cout << ",";cout << sums[i][j] ;}cout << "]";}cout << "]";
}
void GetResult(int a)
{vector <vector<int>> sums;int b[1] = { 1 };int c[2] = { 1,1 };int d[3] = { 1,2,1 };vector <int> a_1(b,b+1);vector <int> a_2(c,c+2);vector <int> a_3(d,d+3);sums.push_back(a_1);sums.push_back(a_2);sums.push_back(a_3);for (int i = 3; i <= a - 1; i++){vector <int> sum ;for (int j = 0; j <= i; j++){if (j == 0 or j==i){sum.push_back(1);continue;}int sum_1 = 0;sum_1 = sums[i - 1][j-1] + sums[i - 1][j];sum.push_back(sum_1);}sums.push_back(sum);}printResult(sums);
}
int main()
{int a;cin >> a;if (a == 1)cout << "[1]" << endl;else if (a == 2)cout << "[[1],[1,1]]" << endl;else if (a == 3)cout << "[[1],[1,1][1,2,1]]" << endl;else if (a <= 0)exit(0);elseGetResult(a);
}

运行结果

相关文章:

[C++]杨辉三角

目录 题目 解题思路 代码实现 获取数字 打印函数 主函数 全部代码 运行结果 题目 给定一个非负整数numRows &#xff0c;生成「杨辉三角」的前numRows行。 在「杨辉三角」中&#xff0c;每个数是它左上方和右上方的数的和。 解题思路 第k列的第i个数字的值第k-1列的(…...

算法通关村十三关-白银:数字与数学高频问题

有很多解题技巧&#xff0c;需要持续积累 1.数组实现加法专题 如果让你用数组来表示一个数&#xff0c;如何实现加法呢&#xff1f; 理论上仍然从数组末尾向前挨着计算就行了&#xff0c;但是实现的时候会发现很多问题&#xff0c;例如需要进位该怎么办&#xff1f; 进一步拓…...

【Linux】线程安全-互斥同步

文章目录 线程安全问题的引入线程互斥互斥概念互斥锁互斥锁的计数器当中如何保证原子性互斥锁基础API初始化互斥锁变量函数动态初始化静态初始化 加锁函数阻塞加锁非阻塞加锁带有超时时间的加锁 解锁函数销毁互斥锁函数 线程同步线程同步的必要性条件变量条件变量的使用原理条件…...

1.初识爬虫

爬虫是批量模拟网络请求的程序&#xff0c;想百度谷歌这种搜索类网站本质上就是爬虫 使用爬虫的时候不应该对别人的网站有严重的影响&#xff0c;比如你爬的频率太高了&#xff0c;让人家的网站崩溃了。不应该爬取网页上显示不到的内容&#xff0c;比如有一个直播的网站&#…...

TLA+学习记录1——hello world

0x01 TLA是个好工具 编程人员一个好习惯是凡事都想偷懒&#xff0c;当然是指要科学地偷懒&#xff0c;而不是真的偷懒。一直想找到一种能检验写出的代码&#xff0c;做出的设计是否真的完全正确&#xff0c;而不是靠经验检视、代码Review、反复测试去检验。因为上述方法不管怎…...

基于QWebEngine实现无头浏览器

无头浏览器 无头浏览器&#xff08;Headless Browser&#xff09;是一种没有图形用户界面&#xff08;GUI&#xff09;的浏览器。它通过在内存中渲染页面&#xff0c;然后将结果发送回请求它的用户或程序来实现对网页的访问&#xff0c;而不会在屏幕上显示网页。这种方式使得无…...

编译Micropython固件For树莓派Raspberry Pi Pico

1. 前言 由于想把自己编写的py文件打包的固件中&#xff0c;所以记录下如何编译micropython固件和打包。 2. 编译 最简单的方式就是在你的树莓派上进行&#xff0c;我用的是RP Pi2 下载所需文件&#xff1a; $ cd ~/ $ mkdir pico $ cd pico $ git clone -b pico https://gi…...

基于googlenet网络的动物种类识别算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ................................................................. % 获取输入层的尺寸 Inp…...

如何用Jmeter编写脚本压测?

随着商业业务不断扩张&#xff0c;调用adsearch服务频率越来越高&#xff0c;所以这次想做个压测&#xff0c;了解目前多少并发量可以到达adsearch服务的界值。 这次选用的jmeter压测工具&#xff0c;压测思路如图&#xff1a; 一、日志入参 日志选取的adsearch 的 getads部分…...

SpingMVC之拦截器使用详解

拦截器概述 SpringMVC的处理器拦截器,类似于Servlet开发中的过滤器Filter&#xff0c;用于对处理器进行预处理和后处理。 过滤器和拦截器区别 过滤器&#xff1a;依赖于servlet容器。在实现上基于函数回调&#xff0c;可以对几乎所有请求进行过滤&#xff0c;但是缺点是一个过…...

motionface respeak新的aigc视频与音频对口型数字人

在当今的数字化时代&#xff0c;人工智能&#xff08;AI&#xff09;正在逐渐渗透到我们生活的方方面面。其中&#xff0c;AI技术在视频制作和处理领域的应用也日益广泛。本文将探讨如何利用AI技术实现视频中人脸与音频同步对口型的方法&#xff0c;旨在进一步丰富视频制作的效…...

【计算机网络】 静态库与动态库

文章目录 静态库实践使用方法总结 动态库实践使用方法总结 静态库与动态库的优缺点静态库优点缺点 动态库缺点优点 库有两种&#xff1a;静态库&#xff08;.a、.lib&#xff09;和动态库&#xff08;.so、.dll&#xff09;。所谓静态、动态是指链接。静态库是将整个库文件都拷…...

web端调用本地摄像头麦克风+WebRTC腾讯云,实现直播功能

目录 关于直播直播流程直播视频格式封装推流和拉流 获取摄像头和麦克风权限navigator.getUserMedia()MediaDevices.getUserMedia() WebRTC腾讯云快直播 关于直播 视频直播技术大全、直播架构、技术原理和实现思路方案整理 直播流程 视频采集端&#xff1a; 1、视频采集&#…...

React笔记(八)Redux

一、安装和配置 React 官方并没有提供对应的状态机插件&#xff0c;因此&#xff0c;我们需要下载第三方的状态机插件 —— Redux。 1、下载Redux 在终端中定位到项目根目录&#xff0c;然后执行以下命令下载 Redux npm i redux 2、创建配置文件 在 React 中&#xff0c;…...

数据库 | 数据库概述、关系型数据库、非关系型数据库

目录&#xff1a; 1.数据库&#xff1a;1.1 数据库的含义1.2 数据库的特点 2.数据表3.数据库管理系统4.数据库系统5.关系型数据库 和 非关系型数据库&#xff1a;5.1 关系型数据库5.2 关系型数据库“优势”5.3 非关系型数据库 6.关系型数据库 和 非关系型数据库 的“区别” 1.数…...

【备战csp-j】 csp常考题目详解(4)

四.数值转换与编码 1. 十进制数 11/128 可用二进制数码序列表示为( ) 。 A.1011/1000000 B.1011/100000000 C.0.001011 D.0.0001011 答案&#xff1a;D 解析&#xff1a;暂时未找到解决方法&#xff0c;以后会解决。 2. 算式(2047)10 &#xff0d; (3FF)16 &#xff0b; …...

linux中常见服务端安装

linux安装服务脚本 1、yum安装 # 通过apt安装yum apt install yum # yum安装软件 yum install pam-devel # yum 卸载 yum remove pam-devel2、rpm安装 # 安装 rpm -i example.rpm #安装 example.rpm 包&#xff1b; rpm -iv example.rpm #安装 example.rpm 包并在安装过程…...

L1-058 6翻了(Python实现) 测试点全过

前言&#xff1a; {\color{Blue}前言&#xff1a;} 前言&#xff1a; 本系列题使用的是&#xff0c;“PTA中的团体程序设计天梯赛——练习集”的题库&#xff0c;难度有L1、L2、L3三个等级&#xff0c;分别对应团体程序设计天梯赛的三个难度。更新取决于题目的难度&#xff0c;…...

初学Python记

Python这个编程语言的大名当然听说过了呀&#xff0c;这几年特别火&#xff0c;火的一塌涂地。大家可以回忆一下&#xff1a;朋友圈推荐的广告里经常可以看见python的网课广告。 本学期&#xff0c;学校开设了python课程&#xff0c;这几天学习了一下入了一下门&#xff0c;感…...

计算机竞赛 基于深度学习的目标检测算法

文章目录 1 简介2 目标检测概念3 目标分类、定位、检测示例4 传统目标检测5 两类目标检测算法5.1 相关研究5.1.1 选择性搜索5.1.2 OverFeat 5.2 基于区域提名的方法5.2.1 R-CNN5.2.2 SPP-net5.2.3 Fast R-CNN 5.3 端到端的方法YOLOSSD 6 人体检测结果7 最后 1 简介 &#x1f5…...

LFM2.5-1.2B-Thinking-GGUF实战教程:用三句话讲清GGUF——模型本身即教程

LFM2.5-1.2B-Thinking-GGUF实战教程&#xff1a;用三句话讲清GGUF——模型本身即教程 1. 认识LFM2.5-1.2B-Thinking-GGUF LFM2.5-1.2B-Thinking-GGUF是Liquid AI推出的一款轻量级文本生成模型&#xff0c;专为低资源环境优化设计。这个模型最大的特点是内置了GGUF格式的模型文…...

告别乱码!手把手教你用阿里妈妈数黑体+LVGL 8.3打造炫酷中文界面(附图标字体生成全流程)

告别乱码&#xff01;手把手教你用阿里妈妈数黑体LVGL 8.3打造炫酷中文界面&#xff08;附图标字体生成全流程&#xff09; 在智能家居控制面板、工业HMI等嵌入式设备开发中&#xff0c;中文显示一直是工程师的痛点。传统解决方案要么占用过多Flash空间&#xff0c;要么显示效…...

零基础入门QWEN-AUDIO:3步完成语音合成,开箱即用

零基础入门QWEN-AUDIO&#xff1a;3步完成语音合成&#xff0c;开箱即用 1. 为什么选择QWEN-AUDIO语音合成 语音合成技术正在改变我们与数字世界互动的方式。想象一下&#xff0c;你只需要输入文字&#xff0c;就能获得听起来和真人几乎无异的语音输出——这就是QWEN-AUDIO带…...

为什么92%的Python低代码平台不敢暴露内核?:深度解析GIL绕过策略、上下文感知缓存与热重载原子切换机制

第一章&#xff1a;Python低代码平台内核不透明的产业困局在当前企业数字化加速落地的背景下&#xff0c;Python生态衍生出大量低代码平台&#xff08;如Streamlit Cloud、Gradio Spaces、Dash Enterprise&#xff09;&#xff0c;它们以“拖拉拽少量Python脚本”为卖点&#x…...

Android端集成MiniCPM-V-2_6轻量化版本:移动端图像风格迁移App开发

Android端集成MiniCPM-V-2_6轻量化版本&#xff1a;移动端图像风格迁移App开发 1. 引言 你有没有想过&#xff0c;用自己的手机摄像头&#xff0c;就能实时看到眼前的世界变成梵高的《星空》或者莫奈的《睡莲》&#xff1f;这听起来像是科幻电影里的场景&#xff0c;但现在&a…...

SeqGPT-560M金融信贷申请:申请人/收入证明/抵押物/授信额度结构化

SeqGPT-560M金融信贷申请&#xff1a;申请人/收入证明/抵押物/授信额度结构化 1. 项目概述 SeqGPT-560M是一个专门针对金融信贷场景深度优化的智能信息抽取系统。与通用聊天模型不同&#xff0c;这个系统专注于从复杂的非结构化文本中精准提取关键金融信息&#xff0c;特别适…...

反激电源设计避坑:空载炸管、RCD吸收烧电阻?聊聊DCM模式下那些容易忽略的细节

反激电源实战陷阱解析&#xff1a;从空载炸管到RCD失效的深度拆解 实验室里弥漫着焦糊味&#xff0c;示波器上那条本该稳定的波形突然飙升——这可能是每个电源工程师都经历过的噩梦时刻。反激拓扑看似简单&#xff0c;但当你的设计从仿真进入实测阶段&#xff0c;各种"幽…...

PyFluent:3大核心场景实现CFD仿真全流程自动化

PyFluent&#xff1a;3大核心场景实现CFD仿真全流程自动化 【免费下载链接】pyfluent 项目地址: https://gitcode.com/gh_mirrors/pyf/pyfluent 计算流体动力学&#xff08;CFD&#xff09;仿真作为工程设计的关键环节&#xff0c;长期面临流程繁琐、迭代低效、跨学科协…...

高效掌握Mermaid:从文本到可视化的实战指南

高效掌握Mermaid&#xff1a;从文本到可视化的实战指南 【免费下载链接】mermaid mermaid-js/mermaid: 是一个用于生成图表和流程图的 Markdown 渲染器&#xff0c;支持多种图表类型和丰富的样式。适合对 Markdown、图表和流程图以及想要使用 Markdown 绘制图表和流程图的开发者…...

Z-Image-GGUF模型解析:C语言视角下的文件读写与GGUF格式处理

Z-Image-GGUF模型解析&#xff1a;C语言视角下的文件读写与GGUF格式处理 你是不是也好奇&#xff0c;那些动辄几十GB的大模型文件&#xff0c;计算机到底是怎么“看懂”并加载它们的&#xff1f;今天我们不聊高层的API调用&#xff0c;而是拿起C语言这把“手术刀”&#xff0c…...