[C언어 코드업 문제풀이] CodeUp 1057 : [기초-논리연산] 참/거짓이 서로 같을 때에만 참 출력하기

코드업 1057 참/거짓이 서로 같을 때에만 참 출력하기 문제 풀이 해답입니다.

1. 문제 설명

 

두 개의 참(1) 또는 거짓(0)이 입력될 때,
참/거짓이 서로 같을 때에만 참이 계산되는 프로그램을 작성해보자. 

 

2. 입력

 

1 또는 0의 값만 가지는 2개의 정수가 공백을 두고 입력된다. 

 

3. 출력

 

참/거짓이 서로 같을 때에만 1을 출력하고, 그 외의 경우에는 0을 출력한다. 

 

4. 입력 예시

 

0 0

 

5. 출력 예시

 

1

 

6. 문제 풀이

 

#include <stdio.h>
 
 
int main (void)
{
    int num1,num2,result;
 
    
    scanf("%d %d"&num1, &num2);
    result = !(num1 ^ num2);
    
    printf("%d",result);
 
    
    return 0;
}
 

 

참/거짓이 서로 같을 때에만 참 출력하는 문제입니다.

우리는 이전에 서로 다를때에만 참을 출력하는 XOR를 배웠었습니다. 그럼 이번 문제가 요구하는 조건은

이전문제의 정 반대가 되겠죠.

 

그러면 이전 결과에 NOT(!) 연산을 해주면 됩니다.

 

   result = !(num1 ^ num2);

 

!( 값 ^ 값 ) 와 같이 XOR 연산에 !(NOT)을 취해주면 풀 수 있습니다.

 

댓글()