日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

蓝桥 试题 基础练习 杨辉三角形——11行代码AC

發(fā)布時(shí)間:2024/2/28 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 蓝桥 试题 基础练习 杨辉三角形——11行代码AC 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

注意點(diǎn):

1、本質(zhì)上是一道找規(guī)律的二維數(shù)組題(二維數(shù)組題多是這樣,擺個(gè)陣,叫你找規(guī)律)。
2、直接判斷,a[i][j]等于a[i-1][j]+a[i-1][j-1];的值
3、寫數(shù)列時(shí)很容易想到用二維數(shù)組存儲(chǔ),最后輸出。但更優(yōu)化的解法是:在線處理算法。也就是處理完某個(gè)數(shù),直接輸出,免除了最后還需要遍歷一遍的操作。
4、若采用優(yōu)化解法,切記二維數(shù)組要定義為全局變量,否則必須初始化為0。

欠佳的代碼:

#include<bits/stdc++.h> //萬能頭文件 using namespace std; int main() {int n, num = 1; cin >> n;vector<int>v[n]; //動(dòng)態(tài)數(shù)組 if(n == 1) { v[0][0] = 1; cout << v[0][0] << endl; return 0; } //ifn==1, 特殊情況 for(int i = 0; i < n; i++) { //填充,注意 for(int j = 0; j < num; j++) {v[i].resize(num); //為vector動(dòng)態(tài)分配空間 if(j == 0 || j == (num-1)) v[i][j] = 1; else v[i][j] = v[i-1][j] + v[i-1][j-1];} num++;}for(int i = 0; i < n; i++) {for(int j = 0; j < v[i].size(); j++) cout << v[i][j] << ' ';cout << endl; }return 0; }

優(yōu)化解法

#include<stdio.h> int a[35][36]; a[0][0] = 1; //必須定義為全局變量, int main() {int n; scanf("%d", &n);for(int i = 1; i <= n; i++) { for(int j = 1; j <= i; j++) {a[i][j]=a[i-1][j]+a[i-1][j-1];printf("%d ",a[i][j]);} printf("\n"); }return 0; }

總結(jié)

以上是生活随笔為你收集整理的蓝桥 试题 基础练习 杨辉三角形——11行代码AC的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。