加法/乘法方法递归

public class lianxi8digui {
    public static void main(String[] args) {
        int n=4;
        int retValue = sum(n);
        System.out.println(retValue);
    }

    public static int sum(int n) {
        if (n==1){
            return 1;
        }
        return sum(n-1)+n;//加法递归。乘法把+换成*
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个图灵机器人的递归方法: 假设我们要实现的图灵机器人能够回答简单的数学问题,如加法乘法。那么我们可以写一个递归方法,该方法接收一个字符串作为参数,然后根据字符串的内容进行相应的计算并返回结果。 具体地,我们可以定义一个名为“calc”的递归方法,它接收一个字符串参数“expression”。方法的实现如下: 1. 首先,我们需要处理表达式中的括号。如果表达式中有括号,我们需要先计算括号内的表达式。我们可以使用一个while循环来不断查找最内层的括号,并将括号内的表达式递归传入calc方法进行计算。具体步骤如下: - 定义一个变量pos,表示当前正在处理的字符在表达式中的位置,初始化为0。 - 定义一个变量left,表示当前正在处理的括号的左括号在表达式中的位置,初始化为-1。 - 定义一个变量right,表示当前正在处理的括号的右括号在表达式中的位置,初始化为-1。 - 使用while循环,不断查找最内层的括号。具体步骤如下: - 从当前位置pos开始向后查找,如果找到左括号,则将left设置为该位置,并将pos后移一位。 - 从当前位置pos开始向后查找,如果找到右括号,则将right设置为该位置,并将pos后移一位。 - 如果left和right都不为-1,则说明找到了一对括号,我们可以将括号内的表达式递归传入calc方法进行计算,并将计算结果替换掉括号内的部分。 - 如果找不到任何括号,则退出循环。 2. 接下来,我们需要处理表达式中的乘法和除法。我们可以使用一个while循环来不断查找乘法和除法,将它们计算出来并替换掉原表达式中的部分。具体步骤如下: - 定义一个变量pos,表示当前正在处理的字符在表达式中的位置,初始化为0。 - 使用while循环,不断查找乘法和除法。具体步骤如下: - 从当前位置pos开始向后查找,如果找到乘法或除法符号(*或/),则将符号保存下来,并将pos后移一位。 - 接着从pos位置开始向后查找,直到找到下一个符号或字符串末尾。将这一段子串转换成数字,并将pos更新为该子串的末尾位置。 - 如果前面保存的符号是乘法,则将这个数字与前面的数字相乘,并将结果替换

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值