[保研/考研機試] 楊輝三角形 西北工業大學復試上機題 C++實現

題目描述

Time Limit: 1000 ms
Memory Limit: 256 mb

輸入n值,使用遞歸函數,求楊輝三角形中各個位置上的值。

輸入描述:

一個大于等于2的整型數n

輸出描述:

題目可能有多組不同的測試數據,對于每組輸入數據,
按題目的要求輸出相應輸入n的楊輝三角形。

示例

輸入:

6

輸出:

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

思路:

楊輝三角第一行和第二行的內容很明顯,從第三行開始就很有規律了:每一行的第一個和最后一個元素都是1,從第二個到倒數第二個元素都是上一行的兩個相鄰元素的和。這里可以簡單的分為奇數行和偶數行,只需要用兩個一維數組就可以,保存相鄰的兩行元素,不斷迭代更新它們的內容,并及時輸出。雖然用一個二維數組來保存每一行的數值會簡單許多,但是題目輸入的是一個大于等于2的整數n,當n很大時,如果用一個二維數組來保存每一行的數值會占用較大的空間。

注意:根據題目的示例輸出,這里并不需要輸出楊輝三角第一行的數值1。

源代碼:

#include<iostream>
#include<vector>
using namespace std;//習題8.1 楊輝三角形
int main()
{int n;vector<int> nums1 = { 1 };vector<int> nums2 = { 1,1 };while (cin >> n) {for (int i = 2; i <= n; i++) {if (i % 2 == 1) { //奇數行nums1.resize(1);for (int j = 1; j < i - 1; j++) {nums1.push_back(nums2[j - 1] + nums2[j]);}nums1.push_back(1);for (auto it : nums1) {cout << it << " ";}cout << endl;}else { //偶數行nums2.resize(1);for (int j = 1; j < i - 1; j++) {nums2.push_back(nums1[j - 1] + nums1[j]);}nums2.push_back(1);for (auto it : nums2) {cout << it << " ";}cout << endl;}}}return 0;
}

提交結果:

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/36193.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/36193.shtml
英文地址,請注明出處:http://en.pswp.cn/news/36193.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

15.3.2 【Linux】系統的配置文件:/etc/crontab,/etc/cron.d/*

這個“ crontab -e ”是針對使用者的 cron 來設計的&#xff0c;如果是“系統的例行性任務”時&#xff0c; 該怎么辦呢&#xff1f;是否還是需要以 crontab -e 來管理你的例行性工作調度呢&#xff1f;當然不需要&#xff0c;你只要編輯/etc/crontab 這個文件就可以。有一點需…

arcpy創建基本要素:點和多點

目錄 創建Point點要素步驟一&#xff1a;創建空間參考步驟二&#xff1a;創建要素類步驟三&#xff1a;創建字段步驟四&#xff1a;創建記錄并插入位置信息 創建Multipoint多點要素步驟一&#xff1a;創建空間參考&#xff08;同上&#xff09;步驟二&#xff1a;創建要素類步驟…

機器學習終極指南:特征工程(01/2) — 第 -2 部分

西姆蘭吉特辛格 一、介紹 歡迎來到“機器學習終極指南”的第二部分。在第一部分中&#xff0c;我們討論了探索性數據分析 &#xff08;EDA&#xff09;&#xff0c;這是機器學習管道中的關鍵步驟。在這一部分中&#xff0c;我們將深入研究特征工程&#xff0c;這是機器學習過程…

使用shift關鍵字,寫一個帶二級命令的腳本(如:docker run -a -b -c中的run)

省流&#xff1a;shift關鍵字 探索思路 最近有一個小小的需求&#xff0c;寫一個類似于docker run -a -b -c這樣的腳本&#xff0c;這個腳本名為doline&#xff0c;它本身可以執行&#xff08;doline -a -b -c&#xff09;&#xff0c;同時又帶有幾個如run、init、start這樣的…

Qt 之 QWidget QLabel

文章目錄 前言一、Qt 工程介紹二、窗口組件1. QWidget 組件2. QLabel組件 總結 前言 一、Qt 工程介紹 Qt Creator 以工程項目的方式對源碼進行管理一個Qt Creator工程包含不同類型的文件 。 .pro 項目描述文件.pro.user用戶配置描述文件- .h頭文件.cpp源文件.ui界面描述文件資…

verilog 實現異步fifo

理論知識參考 異步FIFO_Verilog實現_verilog實現異步fifo_Crazzy_M的博客-CSDN博客 代碼 /* 位寬8bit, 位深8 */ module async_fifo#(parameter FIFO_DEPTH 8,parameter FIFO_WIDTH 8 ) (input rst_n,input wr_clk,input wr_en,input [FIFO_WIDTH - 1:0…

Chrome小技巧---多用戶登錄同一網站不串信息

測試中經常需要用到瀏覽器需要登錄多個賬號 但是有一個問題就是會串號 通過添加不同的用戶再用這用戶登錄&#xff0c;就不串號了&#xff1a; 還可以在瀏覽器的偏好設置中添加啟動地址 這樣每次打開&#xff0c;就進到設置的地址中了

el-table自適應縮放大小

安裝依賴 npm install --save vue-draggable-resizable //或 cnpm install --save vue-draggable-resizablemain.js引入依賴 import VueDraggableResizable from vue-draggable-resizable import "vue-draggable-resizable/dist/VueDraggableResizable.css"; Vue.c…

基于Redis實現全局唯一Id

微信公眾號訪問地址&#xff1a;基于Redis實現全局唯一Id 推薦文章&#xff1a; 1、使用原生Redis命令實現分布式鎖 ? 2、為什么引入Redisson分布式鎖&#xff1f; 3、SpringBoot整合多數據源&#xff0c;并支持動態新增與切換&#xff08;詳細教程&#xff09; 4、Sprin…

JVM 查看配置 jinfo 及使用 jstat,查看堆棧jstack及GC

1. Jinfo 查看正在運行的Java應用程序的擴展參數: 包含 JVM 參數與 java 系統參數 命令&#xff1a; jinfo pid 2 jstat 查看堆內存使用情況及 GC 回收頻率等&#xff1a; jstat [-命令選項] [vmid] [間隔時間(毫秒)] [查詢次數] 2.1 jstat -gc pid 最常用&#xff0c;可…

C語言必會題目(2)

W...Y的主頁 &#x1f60a; 代碼倉庫分享&#x1f495; 今天繼續分享C語言必會的題目&#xff0c;上一篇文章主要是一些選擇題&#xff0c;而今天我們主要內容為編程題的推薦與講解 準備好迎接下面的題了嗎&#xff1f;開始發車了&#xff01;&#xff01;&#xff01; 輸入…

OSI參考模型及TCP/IP協議棧

一、網絡概述 1.1、什么是網絡&#xff1f; 1、網絡的本質就是實現資源共享 2、將各個系統聯系到一起&#xff0c;形成信息傳遞、接收、共享的信息交互平臺 1.2、典型的園區網拓撲 1.3、網絡歷史發展&#xff0c;ARPA和ARPANET 1、1969年&#xff0c;美國國防部高級研究計…

前后端分離------后端創建筆記(03)前后端對接(下)

本文章轉載于【SpringBootVue】全網最簡單但實用的前后端分離項目實戰筆記 - 前端_大菜007的博客-CSDN博客 僅用于學習和討論&#xff0c;如有侵權請聯系 源碼&#xff1a;https://gitee.com/green_vegetables/x-admin-project.git 素材&#xff1a;https://pan.baidu.com/s/…

數據結構--棧和隊列3.1(棧-順序結構)

目錄 棧&#xff08;Stack&#xff09;棧頂&#xff08;top&#xff09;棧底&#xff08;bottom&#xff09;空棧&#xff08;不含任何元素&#xff09; 創建棧 入棧操作 出棧操作 銷毀一個棧 計算棧的當前容量 實例分析 棧的插入操作叫做進棧&#xff08;Push&#xf…

基于Mybatis Plus的SQL輸出攔截器。完美的輸出打印 SQL 及執行時長、statement

我們需要想辦法打印出完成的SQL&#xff0c;Mybatis為我們提供了 org.apache.ibatis.plugin.Interceptor接口&#xff0c;我們來實現該接口做一些打印SQL的工作 package org.springjmis.core.mp.plugins;import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; impor…

創新零售,京東重新答題?

繼新一輪組織架構調整后&#xff0c;京東從低價到下沉動作不斷。 新成立的創新零售部在京東老將閆小兵的帶領下悄然完成了整合。近日&#xff0c;京喜拼拼已改名為京東拼拼&#xff0c;與七鮮、前置倉等業務共同承載起京東線上線下加速融合的夢想。 同時&#xff0c;拼拼的更…

【從零學習python 】19. 循環遍歷列表和列表嵌套的應用

文章目錄 列表的循環遍歷1. 使用while循環2. 使用for循環3. 交換2個變量的值1. 列表嵌套2. 應用 進階案例 列表的循環遍歷 1. 使用while循環 為了更有效率的輸出列表的每個數據&#xff0c;可以使用循環來完成 namesList [xiaoWang,xiaoZhang,xiaoHua] length len(namesLi…

零售行業供應鏈管理核心KPI指標(一) – 能力、速度、效率和成本

有關零售行業供應鏈管理KPI指標的綜合性分享&#xff0c;涉及到供應鏈能力、速度、效率和成本總共九大指標&#xff0c;是一個大框架&#xff0c;比較核心也比較綜合。 衡量消費品零售企業供應鏈管理效率和水平的核心KPI通常有哪些&#xff1f; 圖片來源-派可數據&#xff08;…

C++ unique_ptr概述 常用操作

文章目錄 unique_ptr概述unique_ptr常用操作 unique_ptr概述 uniue_ptr是一個獨占式的指針,同一個時刻, 就只能有一個unique_ptr指向這個對象(內存),unique_ptr的使用格式 unique_ptr<Class_Tyep> P_Name; unique_ptr的常規初始化: unique_ptr<int> p; 創建一個空…

監控Kafka的關鍵指標

Kafka 架構 上面綠色部分 PRODUCER&#xff08;生產者&#xff09;和下面紫色部分 CONSUMER&#xff08;消費者&#xff09;是業務程序&#xff0c;通常由研發人員埋點解決監控問題&#xff0c;如果是 Java 客戶端也會暴露 JMX 指標。組件運維監控層面著重關注藍色部分的 BROKE…