更新时间2018-09-05 22:00:20
/*在一个nxn的棋盘上,某人站在方格(0, 0),他只能向下或者向右,而且只能在棋盘的上三角中行走,问他走到(n-1, n-1)有多少种走法。
输入描述
棋盘大小n
输出描述
从(0,0)走到(n-1,n-1)的走法数
输入样例
6
输出样例
42
*/
#include<stdio.h>
int n,i,a[100][100];
int main()
{
while(scanf("%d",&n))
{
a[i][0]=1;
for(int i=1; i<=n; i++)
{
a[i][i]=a[i-1][i]+a[i][i-1];
}
printf("%d
",a[n][n]);
}
return 0;
}
你的算法完全不对(也不能理解)
参考改好的
#include<stdio.h>
int a[100][100];
int main()
{
int i,j,n;
while(scanf("%d",&n))
{
for(i=0; i<n; i++)
a[0][i]=1;
for(i=1; i<n; i++)
for(j=i; j<n; j++)
a[i][j]=a[i-1][j]+a[i][j-1];
printf("%d ",a[n-1][n-1]);
}
return 0;
}
下一篇:燃烧与什么物质有关