代码改变世界

解如下方程(java实现)

  大额_skylar  阅读(1732)  评论(0编辑  收藏  举报

 

             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];
    }
    
}
复制代码

 

编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示