ahxoss 2023-08-08 15:08 采纳率: 55.6%
浏览 12
已结题

我在写代码时遇到了一些问题

我在写代码时,不知道怎么实现以下公式
i-1个方块,高度为j,已经搭好的时候,我可以再拿1个方块放在侧边
i-2个方块,高度为j,已经搭好的时候,我可以再拿2个方块放在侧边
此处省略一些内容
i-k个方块,高度为j,已经搭好的时候,我可以再拿k个方块放在侧边

k比高度j小,也就是k<j

  • 写回答

3条回答 默认 最新

  • 喝茶品人生 2023-08-08 15:38
    关注

    用递归做

    int calculateBlocks(int i, int j) {
        if (i <= 0 || j <= 0) {
            return 0;
        }
    
        int totalBlocks = 0;
        for (int k = 1; k < j; k++) {
            totalBlocks += calculateBlocks(i - k, k);
        }
    
        return totalBlocks + 1;
    }
    
    
    
    本回答被专家选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 8月27日
  • 专家已采纳回答 8月19日
  • 创建了问题 8月8日

悬赏问题

  • ¥15 远程访问linux主机超时
  • ¥15 odoo17存货管理优势于中国国内该行业传统ERP或MES的详细解读和举例
  • ¥15 CPU卡指令整合指令数据都在图片上
  • ¥15 火车票关联12306问题
  • ¥15 odoo17处理受托加工产品
  • ¥15 如何用MATLAB编码图三的积分
  • ¥15 圆孔衍射光强随孔径变化
  • ¥15 MacBook pro m3max上用vscode运行c语言没有反应
  • ¥15 ESP-PROG配置错误,ALL ONES
  • ¥15 结构功能耦合指标计算