2016-11-20 3 views
0

私の教授が勉強目的で私に送ったこのコードを解決しようとする際にいくつか問題がありました。私は通常、isPrimeとgetPrimeを問題なく解決できますが、私の問題はgcdクラスにあります。これについていくつかの情報を得たいです。フォーマットのため申し訳ありませんおかげで:)私はサイトUtilクラスのクラスとメソッドの宣言を理解しようとしていますjava

import java.util.*; 

public class Util3 
{ 
    public ??? getSmaller(???) 
    { 
    int smaller; 
    if (???) 
     smaller = ???; 
    else 
     smaller = ???; 

    return smaller; 
    } 

    public ??? gcd(??? a, ??? b) 
    { 
    int g, smaller; 

    smaller = ???(a, b); 
    g = smaller; 
    for (int i = ???; i >= 1; i++) { // from smaller to 1 
     if (a % i == 0 ??? ???) { 
     g = i; 
     ???; 
     } 
    } 

    return g; 
    } 

    public ??? isPrime(int p) 
    { 
    if (p < 2) 
     return false; 

    int i; 
    for (i = ???; i <= ???; i++) // from 2 to p-1 
     if (??? == 0) // if p is divisible by i 
     break; 

    if (i == ???) 
     return ???; 
    else 
     return ???; 
    } 

    public ??? getPrime(int n) 
    { 
    boolean b; 
    int p; 

    for (p = n+1; ; p++) { // n+1, n+2, ... 
     b = ???(p); // check if p is a prime number 
     if (???) 
     break; 
    } 

    return p; 
    } 
} 

答えて

0

に新たなんだので、あなたはナイーブソリューションを使用することができます

public static int gcd(int a, int b) { 
    int current_gcd = 1; 
    for(int d = 2; d <= a && d <= b; ++d) { 
     if (a % d == 0 && b % d == 0) { 
     if (d > current_gcd) { 
      current_gcd = d; 
     } 
     } 
    } 
    return current_gcd; 
    } 

再帰的な1:

public static int GCD(int a, int b) { 
    if (b == 0) { 
     return a; 
     } 
    } 
    return GCD(b, a % b); 
} 
+0

をしてくれてありがとう入力!非静的メソッドはどうですか?それは間違いなくもっと良く機能しますが、私が現在ユニットにいるところでは、まだクラスに含まれている静的メソッドは必要ありません。 – Kowalchu1

+0

staticキーワードを削除し、MainメソッドでUtil3インスタンスを作成するだけです – Nooblhu

関連する問題