当前位置:网站首页>Explication détaillée du triangle Yang hui
Explication détaillée du triangle Yang hui
2022-06-13 06:14:00 【QW & jy】
Catalogue des articles
Triangle Yang hui

Prémisse:Le nombre d'extrémités et de terminaisons par ligne est1.
Chaque nombre est égal à la somme des deux nombres au - dessus.
Les chiffres de chaque ligne sont symétriques à gauche et à droite,Par 1 Commence à s'agrandir.
No n Les chiffres de la ligne sont n Item (s).
Avant n Total[(1 + n) * n] / 2 Nombre.
No n D'accord. m Le nombre peut être exprimé en C(n - 1,m - 1),De n - 1 De différents éléments m - 1 Nombre de combinaisons d'éléments.
No n Ligne m Nombre et n - m + 1Nombre égal ,Est l'une des propriétés du nombre combiné.
Chaque chiffre est égal à la somme des deux chiffres de gauche et de droite de la ligne précédente.Utilisez cette propriété pour écrire tout le triangle de Yang hui.C'est - à - dire n + 1 Ligne i Nombre, etc. 8 Par. n Ligne i - 1 Nombre et i La somme des nombres,C'est aussi une des propriétés des nombres combinatoires.C'est - à - dire: C(n + 1, i) = C(n, i) + C(n, i - 1).
(a + b) * n Les coefficients de l'expansion de l'équation de (n + 1) Chaque élément de la ligne.
De 2n + 1 Ligne 1 Nombre,Avec 2n + 2 Ligne 3 Nombre、No 2n + 3 Ligne 5 Nombre……En ligne, La somme de ces nombres est 4n + 1 Nombre de Fibonacci;De 2n Ligne 2 Nombre(n > 1),Avec 2n - 1 Ligne 4 Nombre、No 2n - 2 Ligne 6 Nombre…… La somme de ces nombres est 4n - 2 Nombre de Fibonacci.

De n Le nombre de lignes est multiplié par 10(m-1),Parmi euxm Est la colonne de ce nombre , Additionnez les éléments comme suit: 11(n-1).110 = 1,111 = 1 x 100 + 1 × 101 = 11,112 = 1 × 100 + 2 x 101 + 1 x 102 = 121,113 = 1 x 100 + 3 × 101 + 3 x 102 + 1 x 103 = 1331,114 = 1 x 100 + 4 x 101 + 6 x 102 + 4 x 103 + 1 x 104 = 14641,115 = 1 x 100 + 5 x 101 + 10 x 102 + 10 x 103 + 5 x 104 + 1 × 105 = 161051.

No n La somme des chiffres de ligne est2(n-1).1 = 2(1-1),1 + 1 = 2(2-1),1 + 2 + 1 = 2(3-1),1 + 3 + 3 + 1 = 2(4-1),1 + 4 + 6 + 4 + 1 = 2(5-1),1 + 5 + 10 + 10 + 5 + 1 = 2(6-1).

La somme des nombres sur la barre oblique est égale à gauche(Barre oblique du haut à gauche au bas à droite) Ou tourner à droite ( Barre oblique du haut à droite au bas à gauche ),Les chiffres au coin.1 + 1 = 2,1 + 1 + 1 = 3,1 + 1 + 1 + 1 = 4,1 + 2 = 3,1 + 2 + 3 = 6,1 + 2 + 3 + 4 = 10,1 + 3 = 4,1 + 3 + 6 = 10,1 + 4 = 5.

Aligner les numéros de ligne à gauche , Nombre dont la somme des diagonales supérieure droite à inférieure gauche est égale à la séquence Fibonacci .1,1,1 + 1 = 2,2 + 1 = 3,1 + 3 + 1 = 5,3 + 4 + 1 = 8,1 + 6 + 5 + 1 = 13,4 + 10 + 6 + 1 = 21,1 + 10 + 15 + 7 + 1 = 34,5 + 20 + 21 + 8 + 1 = 55.

Exemples
Première question
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int n;
int main(){
scanf("%d", &n);
int num[50][50];
num[1][1] = 1;
for(int i = 1; i <= n; i ++){
for(int j = 1; j <= i; j ++){
if(j == i || j == 1){
num[i][j] = 1;
printf("%d ", num[i][j]);
}
else{
num[i][j] = num[i - 1][j - 1] + num[i - 1][j];
printf("%d ", num[i][j]);
}
}
printf("\n");
}
return 0;
}
Deuxième question
Symétrie trigonométrique de Yang hui (C(a, b) == C(a, a-b)),Et à cause de la recherche de la première apparition,Donc ça doit être à gauche,La droite peut être effacée directement!
Nature:
- Chaque barre oblique augmente de haut en bas
- Chaque ligne diminue du milieu aux deux côtés
Ordre inverse(De16C'est parti.)Utiliser la recherche binaire.
Paramètre dichotomique :l:2k r:max(n, l) n Nombre de recherches pour
L'extrémité droite ne doit pas être plus petite que l'extrémité gauche!
Cas particuliers:Sinon, quand n = 1 Heure,Ça va mal tourner..
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
typedef long long LL;
int n;
//C(a, b) = a!/b!(a-b)! = a * (a-1) .. b- Oui. / b!
LL C(int a, int b){
//S'il vous plaît.aLignebValeur de la colonne
LL cnt = 1;
for(int i = a, j = 1; j <= b; i --, j ++){
cnt = cnt * i / j;
if(cnt > n)//Plus grand quenÇa n'a aucun sens, Mets - le sur le super. long long
return cnt;
}
return cnt;
}
bool check(int k){
// Deux points pour la diagonale,Trouver le premier nombre supérieur ou égal à cette valeur
int l = 2 * k, r = max(n, l);
while(l < r){
int mid = l + r >> 1;
if(C(mid, k) >= n)
r = mid;
else
l = mid + 1;
}
if(C(r, k) != n)
return false;
printf("%lld", 1ll * (r + 1) * r / 2 + k + 1);//C(r, k)La valeur séquentielle correspondante est:(r + 1) * r / 2 + k + 1
return true;
}
int main(){
scanf("%d", &n);
for(int k = 16; ; k --)
if(check(k))
break;
return 0;
}
Question n° 3
class Solution {
public:
vector<vector<int>> generate(int numRows) {
vector<vector<int>> num;
for(int i = 0; i < numRows; i ++){
vector<int> a(i + 1);
for(int j = 0; j <= i; j ++){
if(j == 0 || i == j)
a[j] = 1;
else
a[j] = num[i - 1][j - 1] + num[i - 1][j];
}
num.push_back(a);
}
return num;
}
};
Question n° 4
class Solution {
public:
vector<int> getRow(int rowIndex) {
vector<vector<int>> num;
for(int i = 0; i <= rowIndex; i ++){
vector<int> a(i + 1);
for(int j = 0; j <= i; j ++){
if(j == 0 || i == j)
a[j] = 1;
else
a[j] = num[i - 1][j - 1] + num[i - 1][j];
}
num.push_back(a);
}
return num[rowIndex];
}
};
边栏推荐
- [MySQL] basic knowledge review
- Uniapp (upload local pictures, preview pictures, convert Base64 format, upload audio files)
- Local file search tool everything
- PHP redis makes high burst spike
- Leetcode- key formatting - simple
- Using async await in applets
- Download and installation of universal player potplayer, live stream m3u8 import
- php 分布式事务 原理详解
- 万能播放器 PotPlayer 的下载与安装,直播流 m3u8 导入
- php redis 制作高迸发秒杀
猜你喜欢

Detailed explanation of PHP distributed transaction principle

1+1 > 2, share creators can help you achieve

本地文件秒搜工具 Everything
![[turn] explain awk (2)_ Combining formatted output with built-in variables to realize requirements](/img/65/a214d137e230b1a1190feb03660f2c.jpg)
[turn] explain awk (2)_ Combining formatted output with built-in variables to realize requirements

You should consider upgrading via

php 分布式事务 原理详解

Echart line chart: multiple line charts show only one line at a time

Local file search tool everything

Solutions to common problems in small program development

The boys x pubgmobile linkage is coming! Check out the latest game posters
随机推荐
@The detailed explanation of configurationproperties and the problem that all properties of the entity bean modified by this annotation are null after injection are solved
MySQL stored procedure
Leetcode Hamming distance simple
Huawei developer certification and deveco studio compiler Download
[turn] explain awk (2)_ Combining formatted output with built-in variables to realize requirements
Self summarizing
HBuilderX:HBuilderX安装以及其常用插件安装
Echart柱状图:堆叠柱状图value格式化显示
php 分布式事务 原理详解
万能播放器 PotPlayer 的下载与安装,直播流 m3u8 导入
Leetcode- reverse string ii- simple
安全基线检查脚本—— 筑梦之路
Using async await in applets
Multiple reception occurs in the uniapp message delivery
Lamda expression
Essays on November 5, 2021
Fichier local second Search Tool everything
Detailed explanation of Yanghui triangle
微信小程序:全局状态变量的使用
Echart histogram: stacked histogram displays value



