【问题描述】

    如下图所示的三角形,请编程输出图中排在第 n 行从左边数第 m 个位置上的数。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

                                    莱布尼兹三角形(C++) 算法

【代码展示】

# include<iostream>
# include<cstdio>
using namespace std;
int main(){
  int a[100][100]; // a[m][n]
  int i,j,m,n;
  cin >> m >> n;
  for(i=1;i<=m;i++){
    for(j=1;j<=i;j++){
      if(j==1){
        a[i][j]=i; // 第一列等于行数的倒数;
      }
      else{
        // 求分数的倒数,即分数的分母.
        a[i][j]=a[i-1][j-1]*a[i][j-1]/(a[i][j-1]-a[i-1][j-1]);
      }
      // if(j==n && i==m){
      // printf("1/%d",a[i][j]);
      // break;
      // }
    }
  }
  printf("1/%d",a[m][n]); // 输出m行n列数值.
  return 0;
}

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄