투케이2K

40. (C/C언어) while 문을 사용해 최소 공배수 및 최대 공약수 구하기 본문

C

40. (C/C언어) while 문을 사용해 최소 공배수 및 최대 공약수 구하기

투케이2K 2023. 9. 3. 10:19

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : C 언어

 

[소스 코드]

// TODO [구현부 소스 코드 작성]
int main(void)
{

    /**
     * ------------------------------------
     * [요약 설명]
     * ------------------------------------
     * 1. 최소공배수 - 공배수 중에서 가장 작은 정수입니다
     * ------------------------------------
     * 2. 최대공약수 - 공약수 중에서 가장 큰 수입니다
     * ------------------------------------
     * 3. 약수 - 약수는 어떤 수를 0으로 나누어 떨어지게 하는 수입니다
     * ------------------------------------
     * 4. while문 반복 순서 :
     *
     * 1차 : 1 <= 4 && 1<=8
     * 2차 : 2<=4 && 2<=8
     * 3차 : 3<=4 && 3<=8
     * ------------------------------------
     * 5. && 논리연산자 : 모든 조건이 true를 만족해야합니다
     * ------------------------------------
     * */


    int one = 4; // int 형 변수 선언
    int two = 8; // int 형 변수 선언

    int multiple = 0; // 최소공배수 담을 값
    int trivial = 0; // 최대공약수 담을 값

    int i=1;

    while(i<=one&&i<=two){
        if(one%i==0&&two%i==0) { // 두수가 모두 0으로 나누어떨어지는 경우
            trivial=i; // 최대공약수에 i값을 대입한다
        }
        i++; // i값을 증가시켜 최대 공약수값을 찾기위해 다시 while 반복문을 수행한다
    }

    multiple = (one*two)/trivial; // 최소 공배수 구하는 공식 입니다


    // [로그 출력 실시]
    //*
    __android_log_print(ANDROID_LOG_WARN, "[LOG]", "%s", "=====================================================");
    __android_log_print(ANDROID_LOG_INFO, "[LOG]", "최소 공배수 : \"%d\"\n", multiple);
    __android_log_print(ANDROID_LOG_INFO, "[LOG]", "최대 공약수 : \"%d\"\n", trivial);
    __android_log_print(ANDROID_LOG_WARN, "[LOG]", "%s", "=====================================================");
    // */


    return 0;
}
 

[결과 출력]

 

W/[LOG]: =====================================================
I/[LOG]: 최소 공배수 : "8"
I/[LOG]: 최대 공약수 : "4"
W/[LOG]: =====================================================

 

반응형
Comments