当前位置: 代码迷 >> 综合 >> 杭电oj 2032 杨辉三角
  详细解决方案

杭电oj 2032 杨辉三角

热度:4   发布时间:2023-11-25 22:09:58.0
#include <iostream>
using namespace std;int main()
{
    int n;while(cin>>n){
    int num[1000],i,j,s=1;num[0]=1;for(i=1;i<n;++i){
    	num[s++]=1;for(j=1;j<i;++j)num[s++]=num[s-i]+num[s-i-1];//注意找数字规律num[s++]=1;} s=0;for(i=0;i<n;++i){
    for(j=0;j<i;++j)cout<<num[s++]<<" ";cout<<num[s++]<<endl;}//要按格式输出cout<<endl;}
}

(这串代码能ac但在dev上跑会出现错误)
规律:
从第三行开始,收尾为1,中间的数=上一行两个数的和。

1
1 1
1 2 1
1 3 3 1
第四行第一个3=第三行首1+2
第四行第二个3=第三行2+尾1
(所求数向后移时求和的数也向后移了)