解如下方程(java实现)

n                              (m=1)

f(m,n)=  m                              (n=1)

f(m-1,n)+f(m,n-1)      (m>1,n>1)

分析:本题就是类似于杨辉三角形,除了横边和纵边顺序递增外,其余每一个数是它左边和上边数字之和。

package JingDian;
//解类似杨辉三角形的方程
public class leiyanghui {
public static void main(String[] args){
diguijie shu1 = new diguijie();
feidiguijie shu2 = new feidiguijie();
System.out.println(shu1.f1(5,5));
System.out.println(shu2.f2(5,5));
} }
//这里是递归解法
class diguijie{
public int f1(int m,int n){
if(1==m)
return n;
if(1==n)
return m;
return f1(m-1,n)+f1(m,n-1);
}
}
//这里是非递归解法
class feidiguijie{
public int f2(int m,int n){
int[][] a;
a = new int[50][50];
for(int i=0;i!=m;++i)
a[i][0] = i+1;
for(int j=0;j!=n;++j)
a[0][j] = j+1;
for(int i=1;i!=m;++i)
for(int j=1;j!=n;++j)
a[i][j] = a[i-1][j]+a[i][j-1];
return a[m-1][n-1];
} }
上一篇:js 随机点名


下一篇:Gridview将某列内容和标题隐藏起来