2016-11-20 2 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; 
    } 

또는 재귀 한 다음에

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

감사합니다 입력! 비 정적 방법은 어떨까요? 그것은 확실히 더 잘 작동하지만 현재 유닛에있는 정적 클래스가 클래스에 아직 필요하지 않습니다. – Kowalchu1

+0

정적 키워드를 제거하고 Main 메서드에서 Util3 인스턴스를 만듭니다. – Nooblhu

관련 문제