3 solutions
-
3
#include<bits/stdc++.h> using namespace std; int a[1001][1001]; //1 //11 //121 //1331 int main(){ int n; cin>>n; a[1][1]=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=n;i>=1;i--){//倒序输出 for(int j=i;j>=1;j--){ cout<<a[i][j]<<" "; } cout<<'\n'; } return 0; }
-
1
#include #include #include #include #include #include using namespace std; int main() { int a[6][6]={1}; int i,j; int b; cin>>b; a[1][1]=1; for(i=2;i<=b;i++) { for(j=1;j<=i;j++) { a[i][j]=a[i-1][j-1]+a[i-1][j]; } } for(i=b;i>=1;i--) { for(int j=i;j>=1;j--) { cout<<a[i][j]<<" "; } cout<<endl; } return 0; }
-
-4
#P426. 【例74.1】 倒杨辉三角
做完倒头就睡首先,这道题通过二维数组解决,我们需要先开数组int 名字[下标1][下标2]
然后进行数组初始化,可以通过for嵌套解决模板:
for(int i=0;i<5;++i) for(int j=0;j<=i;++j) { 名字[i][j]=多少; //不可以使用memset函数! }
我是用的是内存换时间,所以先计算整个杨辉三角
模板:
for(int i=0;i<5;++i) for(int j=0;j<=i;++j) { a[i][j]=公式自己找去,不要烦我 }
输入n之后,倒序输出
模板:
for(int i=n-1;i>=0;--i) { for(int j=i;j>=0;--j) { printf("%d ",名字[i][j]); } printf("\n"); }
完整程序应为懂得都懂的原因这里展示不了了
愣着干啥,做题去!
- 1
Information
- ID
- 364
- Time
- 1000ms
- Memory
- 64MiB
- Difficulty
- 6
- Tags
- # Submissions
- 58
- Accepted
- 20
- Uploaded By