2つの数値間の最大公約数を見つける単純なJavaプログラムを作成する方法は?

user1029481:

ここに質問があります:

「2つの整数をパラメーターとして受け入れ、2つの数値の最大公約数を返すgcdという名前のメソッドを記述します。2つの整数aとbの最大公約数(GCD)は、aとbの両方の因数である最大整数です。任意の数と1のGCDは1で、任意の数と0のGCDはその数です。

2つの数値のGCDを計算する1つの効率的な方法は、ユークリッドのアルゴリズムを使用することです。

GCD(A, B) = GCD(B, A % B) 
GCD(A, 0) = Absolute value of A"

この問題を解決する方法について私は本当に混乱しています。私がこれまでに持ってきたプログラムで何が間違っていたかに関するヒントとヒントが欲しいだけです。(私はスキャナーを設置しなければなりません。それは私の先生の要件です。)自分でこれを解決したいので、完全なコードを与えないでください。たぶん、上で見たこの式をどのように組み込むかについてのヒントを教えてください。(そして、なぜ== 0を入れたのか疑問に思っているのは、2つの数値、たとえば0と90がある場合、それらのGCDは0になると思いますか?)

また、私のコードにはwhileループが含まれている必要があります...ループであれば...

前もって感謝します!:)

私の現在のプログラム:

public static void main(String[] args) {
        Scanner console = new Scanner(System.in);
        int a = console.nextInt();
        int b = console.nextInt();
        gcd (a, b);
    }

    public static void gcd(int a, int b) {
        System.out.print("Type in two numbers and I will print outs its Greatest Common Divisor: ");
        int gcdNum1 = console.nextInt();
        int gcdNum2 = console.nextInt();
        while (gcdNum1 == 0) {
            gcdNum1 = 0;
        }
        while (gcdNum2 > gcdNum1) {
            int gcd = gcdNum1 % gcdNum2;
        }
        System.out.print(gcdNum1 + gcdNum2);
    }
}
ルシルポール:

再帰的な方法は次のとおりです。

static int gcd(int a, int b)
{
  if(a == 0 || b == 0) return a+b; // base case
  return gcd(b,a%b);
}

whileループの使用:

static int gcd(int a, int b)
{
  while(a!=0 && b!=0) // until either one of them is 0
  {
     int c = b;
     b = a%b;
     a = c;
  }
  return a+b; // either one is 0, so return the non-zero value
}

私が返すときa+b、それらの1つが0であると仮定して、実際にはゼロ以外の数を返します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

最大公約数を見つけるプログラム

分類Dev

3つの数の最大公約数を見つける最も効率的な方法は?

分類Dev

基本的なJava:最大公約数を見つける

分類Dev

再帰のwhile / forループなしでJava Streamを使用して最大公約数を見つける

分類Dev

MATLABで行列の最大公約数を見つける

分類Dev

3つの数の間の最大公約数を計算する方法

分類Dev

単純なJavaプログラムが間違いを見つける

分類Dev

2つの単純な(プライム)5桁の数字の積である最大の回文数を見つけます。Javascript

分類Dev

2つの単純な(プライム)5桁の数字の積である最大の回文数を見つけます。Javascript

分類Dev

除数を見つける関数を使用して、2つの正の整数が与えられた任意の2つの最大公約数を見つけます

分類Dev

2つの数の積を見つけるプログラム

分類Dev

2つの数値を等間隔で分割するプログラムを作成するには

分類Dev

1 つの変数が単純なプログラムを壊しているのはなぜですか?

分類Dev

2の補数を見つけるCプログラム

分類Dev

大きなdouble値を持つJavaの最大公約数

分類Dev

SAS-2つまたは3つの数値の間の最大値を見つける方法

分類Dev

2つの数を入力として取り、それらの数の階乗とその間のすべての数を見つけるプログラム?

分類Dev

SQLで複数の最大値を持つグループの最大値を見つける方法は?

分類Dev

pl / sqlは表から最大公約数を見つけます

分類Dev

2つの整数の間の数値を合計するC ++プログラム

分類Dev

数値の平方値を見つけるC ++プログラムの作り方

分類Dev

最大公約数が他のすべてに共通するように、シーケンス内の数値を除外します。除外されたもののインデックスとその最大公約数を見つけます

分類Dev

テキスト内の特定の文字を含まない単語の数を見つけるプログラム

分類Dev

Pythonで再帰関数を使用して最大公約数を見つける方法は?

分類Dev

グラフで最長の単純なパスを見つける方法は?

分類Dev

平均値プログラムを見つける。変数の宣言と入力

分類Dev

ラップアラウンドする2つの数値の平均を見つける方法は?

分類Dev

Pythonでサイコロを振るプログラムの最小値と最大値を見つける方法

分類Dev

2 つの特定の文字列間の数値を見つける方法は?

Related 関連記事

  1. 1

    最大公約数を見つけるプログラム

  2. 2

    3つの数の最大公約数を見つける最も効率的な方法は?

  3. 3

    基本的なJava:最大公約数を見つける

  4. 4

    再帰のwhile / forループなしでJava Streamを使用して最大公約数を見つける

  5. 5

    MATLABで行列の最大公約数を見つける

  6. 6

    3つの数の間の最大公約数を計算する方法

  7. 7

    単純なJavaプログラムが間違いを見つける

  8. 8

    2つの単純な(プライム)5桁の数字の積である最大の回文数を見つけます。Javascript

  9. 9

    2つの単純な(プライム)5桁の数字の積である最大の回文数を見つけます。Javascript

  10. 10

    除数を見つける関数を使用して、2つの正の整数が与えられた任意の2つの最大公約数を見つけます

  11. 11

    2つの数の積を見つけるプログラム

  12. 12

    2つの数値を等間隔で分割するプログラムを作成するには

  13. 13

    1 つの変数が単純なプログラムを壊しているのはなぜですか?

  14. 14

    2の補数を見つけるCプログラム

  15. 15

    大きなdouble値を持つJavaの最大公約数

  16. 16

    SAS-2つまたは3つの数値の間の最大値を見つける方法

  17. 17

    2つの数を入力として取り、それらの数の階乗とその間のすべての数を見つけるプログラム?

  18. 18

    SQLで複数の最大値を持つグループの最大値を見つける方法は?

  19. 19

    pl / sqlは表から最大公約数を見つけます

  20. 20

    2つの整数の間の数値を合計するC ++プログラム

  21. 21

    数値の平方値を見つけるC ++プログラムの作り方

  22. 22

    最大公約数が他のすべてに共通するように、シーケンス内の数値を除外します。除外されたもののインデックスとその最大公約数を見つけます

  23. 23

    テキスト内の特定の文字を含まない単語の数を見つけるプログラム

  24. 24

    Pythonで再帰関数を使用して最大公約数を見つける方法は?

  25. 25

    グラフで最長の単純なパスを見つける方法は?

  26. 26

    平均値プログラムを見つける。変数の宣言と入力

  27. 27

    ラップアラウンドする2つの数値の平均を見つける方法は?

  28. 28

    Pythonでサイコロを振るプログラムの最小値と最大値を見つける方法

  29. 29

    2 つの特定の文字列間の数値を見つける方法は?

ホットタグ

アーカイブ