8/25

chi·2024년 8월 25일

백준

목록 보기
14/20

11966

#include <stdio.h>

int main() {
    unsigned int N;
    scanf("%u", &N);
    
    if (N != 0 && (N & (N - 1)) == 0) {
        printf("1\n");
    } else {
        printf("0\n");
    }
    
    return 0;
}

풀이
N 값을 입력받음
if (N != 0 && (N & (N - 1)) == 0) :
(N & (N - 1)) == 0로 N이 2의 제곱수인지 확인
N != 0을 추가하여 N이 0이 아닌지 확인
조건이 참이면 1을 출력하고 그렇지 않으면 0을 출력

5086

#include <stdio.h>

int main() {
    int A, B;
    
    while (1) {
        scanf("%d %d", &A, &B);
        
        if (A == 0 && B == 0) {
            break;
        }
        
        if (B % A == 0) {
            printf("factor\n");
        }
        
        else if (A % B == 0) {
            printf("multiple\n");
        }
        
        else {
            printf("neither\n");
        }
    }
    
    return 0;
}

풀이
scanf로 두 개의 정수를 입력받음
입력받은 두 숫자가 모두 0인 경우 프로그램 종료
B % A == 0인 경우 첫 번째 숫자가 두 번째 숫자의 약수이므로 factor를 출력
A % B == 0인 경우 첫 번째 숫자가 두 번째 숫자의 배수이므로 multiple을 출력
둘 다 아니면 neither 출력

0개의 댓글