杨辉三角数组实现

用二维数组的话

#include<bits/stdc++.h>
using namespace std;
#define IN -1e6
#define INT 1e6
const int maxn=1e6;
int res=1;
typedef long long ll;


int a[100][100];
int b[100][100];

int c[100][100];

int main()
{
    
    
   int n;
   cin>>n;
   for(int i=0;i<n;i++)
   a[i][0]=1,a[i][i]=1;
   
   for(int i=2;i<n;i++)
   {
    
    
   	  for(int j=1;j<i;j++)
   	  a[i][j]=a[i-1][j]+a[i-1][j-1];
   }
   for(int i=0;i<n;i++)
   {
    
    
   	for(int j=0;j<=i;j++)
   	cout<<a[i][j]<<' ';
   	cout<<endl;
   }
   
	
   return 0;
}

用一维数组的话

#include<bits/stdc++.h>
using namespace std;
#define IN -1e6
#define INT 1e6
const int maxn=1e6;
int res=1;
typedef long long ll;

int a[100];
int b[100][100];

int c[100][100];

int main()
{
    
    
   int n;
   cin>>n;
   a[0]=1;
 	cout<<1<<endl;

   for(int i=1;i<n;i++)
   {
    
    
   	cout<<1<<' ';
   	a[i]=1;
   	for(int j=i;j>0;j--)
   	    a[j]=a[j]+a[j-1],cout<<a[j]<<' ';
   	cout<<a[0]<<endl;
   	
   }
   
   
	
   return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_52172364/article/details/112165316