题解 | 二维斐波那契数列
二维斐波那契数列
https://www.nowcoder.com/practice/a1951ca9431646ff8f9bc6f6d24d1e0a
#include <stdio.h>
#define mod (1000000000+7)//这里不可以是1e9+7,会被识别为浮点型double导致取模失败。要加LL定义为long long型。递归不可以计算二维比值>30的,会延迟爆炸。所以还是数组完美,注意传递二维数组指针
int an(int n,int m,int(*a)[m])
{
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
if(i==0||j==0)
a[i][j]=1;
if(i>=1&&j>=1)
a[i][j]=(a[i-1][j]+a[i][j-1])%mod;
}
}
return a[n-1][m-1];
}
int main() {
int n,m,a[1000][1000];
scanf("%d %d",&n,&m);
printf("%d",an(n,m,a));
return 0;
}
