2
그래, 나는 지난 번에 말한 모든 것을 다시 말하려고합니다. GCF와 LCD 두 개를 찾는 프로그램을 만들고 있습니다. 인 GCF를 찾을 수있는 방법이 있습니다 :기본 사용 : GCF 및 LCD
gcf = BigInteger.valueOf(x).gcd(BigInteger.valueOf(y)).intValue();
또는 두 가지 유형 유클리드의 알고리즘, 빼기 방법과 나머지 방법.
우리는 어떤 배열이나 메서드도 사용할 수 없습니다. 우리는 통제 구조와 반복적 인 구조를 사용해야합니다.
나는 빼기 방법을했지만 거기에는 운이 없으므로 지금 남은 방법을 시도했다.
int iA = 0, iB = 0, iG = 0, iL = 0, iR = 0;
if(iA != iB){
if (iA > iB){
iR = iA % iB;
iG = iB/iR;
iL = (iA*iB)/iG;
}
else{
iR = iB % iA;
iG = iA/iR;
iL = (iA*iB)/iG;
}
System.out.println("The GCF is: " + iG);
System.out.println("The LCD is: " + iL);
}
else{
System.out.println("The GCF is: " + iA);
System.out.println("The LCD is: " + iA);
이제 나머지 방법은 나머지 == 0 경우, 다음 마지막으로 나머지 값이 두 숫자의 GCF는 것을 의미한다. 내가
while
또는
do-while
구조를 실행할 것으로 예상하고 있지만 나는 생각할 수 없다. 내 코드가 잘못된 방식으로 입력됩니다.
First Number: 120
Second Number: 50
The GCF is: 2
그러나 해결하는 경우 (10)를해야한다 (120,50)의 GCF는이 같은 간다 :
어쨌든iR = 120 % 50
iG = 50/20
, LCD를 얻을 수있는 경우 두 숫자의 제품 GCF로 나눈 값이므로 GCF를 찾지 못하면 정신없이 바쁠 것입니다.
도움을 주시면 감사하겠습니다. 미리 감사드립니다.