清芷在沅湘 发表于 2022-4-6 21:54:28

100鱼币悬赏!!!!如何将问题中的循环装换成递归??

本帖最后由 清芷在沅湘 于 2022-4-6 22:38 编辑

import java.util.Scanner;

public class Puzzle{
        public static void main(String[] args){
                Scanner input = new Scanner(System.in);
                System.out.print("请输入n的值:");
                int n = input.nextInt();
                int i;
                double last = n;
                for (i = n;i > 0;i--){
                       last = i-1 + 1.0/last;
                }
                System.out.println("答案是" + last);
        }
}如何将图中的循环装换成递归??

isdkz 发表于 2022-4-6 22:09:45

抢沙发

人造人 发表于 2022-4-6 22:18:09

发代码

清芷在沅湘 发表于 2022-4-6 22:28:46

人造人 发表于 2022-4-6 22:18
发代码

import java.util.Scanner;

public class Puzzle{
        public static void main(String[] args){
                Scanner input = new Scanner(System.in);
                System.out.print("请输入n的值:");
                int n = input.nextInt();
                int i;
                double last = n;
                for (i = n;i > 0;i--){
                       last = i-1 + 1.0/last;
                }
                System.out.println("答案是" + last);
        }
}

andy大宝 发表于 2022-4-6 22:31:43

弱弱地问一句,这应该是Python吧,为什么在Java和Python交流区里都发了一遍{:10_245:}

清芷在沅湘 发表于 2022-4-6 22:34:23

andy大宝 发表于 2022-4-6 22:31
弱弱地问一句,这应该是Python吧,为什么在Java和Python交流区里都发了一遍

这是java 因为我先在Java版块发了一遍 但是我发现python版块人更多 加上这个问题主要是一个算法问题各个语言是同的 所以我在python又发了一遍

人造人 发表于 2022-4-6 22:42:36

清芷在沅湘 发表于 2022-4-6 22:34
这是java 因为我先在Java版块发了一遍 但是我发现python版块人更多 加上这个问题主要是一个算法问题各个 ...

这样?

/*
import java.util.Scanner;

public class main {
    public static void main(String[] args) {
      Scanner input = new Scanner(System.in);
      System.out.print("请输入n的值:");
      int n = input.nextInt();
      int i;
      double last = n;
      for (i = n; i > 0; i--) {
            last = i - 1 + 1.0 / last;
      }
      System.out.println("答案是" + last);
      }
}
*/

import java.util.Scanner;

public class main {
    public static double calc(int n, double last) {
      if(n <= 0) return last;
      return calc(n - 1, n - 1 + 1.0 / last);
    }
    public static void main(String args[]) {
      Scanner input = new Scanner(System.in);
      System.out.print("请输入n的值: ");
      int n = input.nextInt();
      System.out.println("答案是: " + calc(n, n));
      input.close();
    }
}

清芷在沅湘 发表于 2022-4-6 22:56:49

人造人 发表于 2022-4-6 22:42
这样?

对的对的,谢谢指点,我之前一直在草稿纸上手写模拟递归,一直不知道怎么处理最后一项,没有意识到递归函数也可以多参数的,再次感谢指点!

tianlai7266 发表于 2022-4-6 23:05:39

{:10_254:}

amazed 发表于 2022-4-7 00:34:15

666666666666666666

andy大宝 发表于 2022-4-7 06:46:31

清芷在沅湘 发表于 2022-4-6 22:34
这是java 因为我先在Java版块发了一遍 但是我发现python版块人更多 加上这个问题主要是一个算法问题各个 ...

哦误解了,以为是Python{:10_262:}

andy大宝 发表于 2022-4-7 07:16:02

清芷在沅湘 发表于 2022-4-6 22:34
这是java 因为我先在Java版块发了一遍 但是我发现python版块人更多 加上这个问题主要是一个算法问题各个 ...

https://fishc.com.cn/forum.php?mod=viewthread&tid=211544&page=1&extra=#pid5799888

{:10_315:}

andy大宝 发表于 2022-4-7 07:17:51

提个建议,提问题不要发这么多鱼币,像10鱼币以上的设一下阅读权限{:10_330:}

C丁洞杀O 发表于 2022-4-7 07:30:30

我觉得java简单。………………………………………………666

心驰神往 发表于 2022-4-7 08:05:53

java太卷了

hornwong 发表于 2022-4-7 10:23:14

支持

清芷在沅湘 发表于 2022-4-7 12:48:00

andy大宝 发表于 2022-4-7 07:17
提个建议,提问题不要发这么多鱼币,像10鱼币以上的设一下阅读权限

好的   谢谢提醒

a1372245671 发表于 2022-4-7 14:02:13

{:10_318:}

1050293757 发表于 2022-4-7 21:10:34

{:5_109:}
页: [1]
查看完整版本: 100鱼币悬赏!!!!如何将问题中的循环装换成递归??