请小伙伴们对自己AC的题目进行标记,注意每人只能标记一次!不知道的不要标记,恶意标记者将回收账号!!!

问题 D: 莱布尼茨三角形

时间限制: 1 Sec  内存限制: 128 MB
[提交] [状态]

题目描述

世界上著名的莱布尼茨三角形如图所示,请编程输出图中排在第n行从左边数第m个位置上的数。 

输入

共一行,有二个整数N 和M(N<=15),两数间用空格隔开。

输出

共一行,有二个整数,两数间用“/”隔开,表示所求的分数,行尾没有多余的空格。

样例输入
Copy

7 3

样例输出 Copy

1/105
#include<algorithm>
#include<map> 
#include<bits/stdc++.h> 
using namespace std;
typedef long long ll; 
inline int read()
{
    int x=0,f=1;char ch=getchar();
    while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
    while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
    return x*f;
}
const int mod=20011021;
const int maxn=1e3+10;
int n,m;
int a[maxn][maxn];
void inint(){
    cin>>n>>m;
    for(int i=1;i<=16;i++){
        for(int 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]);
            }
        }
    } 
}
int main(){
    inint();
    printf("1/");
    printf("%d",a[n][m]);
}