使用递归并实现Euclid算法从用户中查找三个数字的GCD

鳟鱼大师

我想让用户输入三个数字,然后让程序在使用递归的同时始终使用Euclid算法计算GCD。

我的代码现在实现了两个输入数字。我了解计算a和b的GCD并将其称为结果d的方法。然后使用第三个输入(c)和d查找GCD,并本质上再次重复Euclid算法;我不确定如何在代码中实现这一点。

import java.util.Scanner;

public class RecursionDemo {

public static void main (String[] args) {

Scanner userInput = new Scanner(System.in);

     System.out.println("Enter first number: ");
     int a = userInput.nextInt();

     System.out.println("Enter second number: ");
     int b = userInput.nextInt();


     System.out.println("GCD is: " + gCd(a, b));
   }

     public static int gCd(int a, int b) {

     if(b == 0){
         return a;
        }
     return gCd(b, a%b);         
   }
}   

真正让我失望的部分是使用递归来解决我的问题。

到目前为止,我知道我需要实现:

System.out.println("Enter third number: ");
     int c = userInput.nextInt();

d = //Not sure here

//And then modify my recursion method to find GCD.

任何帮助或建议,将不胜感激!

加萨
d = gCd (a, b);
System.out.println("GCD is: " + gCd(d, c));

请注意,您可以gCd使用任意两个参数(而不仅仅是a和)来调用函数b为了更好地理解和减少混乱,您可能希望重命名其参数,如下所示:

 public static int gCd(int x, int y) {
     if(y == 0) {
         return x;
     }
     return gCd(y, x%y);
 }

因此,首先用x = a调用它,y = b以找到a和的GCD b将结果存储到新变量中d之后,您再次调用它,x = d而GCD又是ab,和y = c这样就得到了所有三个数字的GCD。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用递归并实现Euclid算法从用户中查找三个数字的GCD

来自分类Dev

如何使用Euclid算法查找GCF / GCD?

来自分类Dev

Ruby-查找数组中是否有两个数字相乘等于第三个数字

来自分类Dev

三个数组中的三个附近数字

来自分类Dev

三个数组中的三个附近数字

来自分类Dev

使用foreach和hashtable在三个数组中查找公共元素

来自分类Dev

比较三个数字?

来自分类Dev

寻找三个数字的中间

来自分类Dev

循环从0到100的数字,并使用递归在没有模数功能的情况下每三个数字打印一次

来自分类Dev

使用Euclid算法找到GCF(GCD)

来自分类Dev

伪算法,需要4个输入并输出三个数字的最大/最佳值之和

来自分类Dev

如何在Java脚本中从三个数字中找到所需的数字?

来自分类Dev

写下条件-三个数字中只有一个是5的倍数

来自分类Dev

计算JavaScript中两个或三个数字的LCM

来自分类Dev

是否可以在2个字节的变量中插入三个数字?

来自分类Dev

从三个数字中获取两个最大数字,而无需在python 3.5中使用条件语句或循环

来自分类Dev

从C中的二叉树中获取最小的三个数字

来自分类Dev

如何在Android中从三个数字中获取特定的随机数

来自分类Dev

Shell脚本在不使用expr和第三个变量的情况下查找两个数字的乘积

来自分类Dev

使用欧几里得算法找到两个数字的GCD?

来自分类Dev

使用2个数组在numpy中填充第三个数组

来自分类Dev

使用正则表达式查找三个或四个逗号分隔的数字

来自分类Dev

数组中的三个数字加起来等于O(n)的目标和

来自分类Dev

在找到三个数字最大的python代码中找不到实际的问题

来自分类Dev

仅匹配ksh中字符串的前三个数字

来自分类Dev

匹配正则表达式中的前三个数字

来自分类Dev

ss命令输出说明(进程描述中的第三个数字)

来自分类Dev

添加三个数字并在带有Javascript的文本框中显示结果

来自分类Dev

从列表中删除第三个元素,直到少于 3 个数字

Related 相关文章

  1. 1

    使用递归并实现Euclid算法从用户中查找三个数字的GCD

  2. 2

    如何使用Euclid算法查找GCF / GCD?

  3. 3

    Ruby-查找数组中是否有两个数字相乘等于第三个数字

  4. 4

    三个数组中的三个附近数字

  5. 5

    三个数组中的三个附近数字

  6. 6

    使用foreach和hashtable在三个数组中查找公共元素

  7. 7

    比较三个数字?

  8. 8

    寻找三个数字的中间

  9. 9

    循环从0到100的数字,并使用递归在没有模数功能的情况下每三个数字打印一次

  10. 10

    使用Euclid算法找到GCF(GCD)

  11. 11

    伪算法,需要4个输入并输出三个数字的最大/最佳值之和

  12. 12

    如何在Java脚本中从三个数字中找到所需的数字?

  13. 13

    写下条件-三个数字中只有一个是5的倍数

  14. 14

    计算JavaScript中两个或三个数字的LCM

  15. 15

    是否可以在2个字节的变量中插入三个数字?

  16. 16

    从三个数字中获取两个最大数字,而无需在python 3.5中使用条件语句或循环

  17. 17

    从C中的二叉树中获取最小的三个数字

  18. 18

    如何在Android中从三个数字中获取特定的随机数

  19. 19

    Shell脚本在不使用expr和第三个变量的情况下查找两个数字的乘积

  20. 20

    使用欧几里得算法找到两个数字的GCD?

  21. 21

    使用2个数组在numpy中填充第三个数组

  22. 22

    使用正则表达式查找三个或四个逗号分隔的数字

  23. 23

    数组中的三个数字加起来等于O(n)的目标和

  24. 24

    在找到三个数字最大的python代码中找不到实际的问题

  25. 25

    仅匹配ksh中字符串的前三个数字

  26. 26

    匹配正则表达式中的前三个数字

  27. 27

    ss命令输出说明(进程描述中的第三个数字)

  28. 28

    添加三个数字并在带有Javascript的文本框中显示结果

  29. 29

    从列表中删除第三个元素,直到少于 3 个数字

热门标签

归档