[C언어 코드업 문제풀이] CodeUp 1056 : [기초-논리연산] 참/거짓이 서로 다를 때에만 참 출력하기(설명)
ET의 공부/C언어 연습문제[ 코드업 ]2019. 12. 24. 23:24
코드업 1056 참/거짓이 서로 다를 때에만 참 출력하기 문제 풀이 해답입니다.
1. 문제 설명
두 가지의 참(1) 또는 거짓(0)이 입력될 때,
참/거짓이 서로 다를 때에만 참을 출력하는 프로그램을 작성해보자.
참고
이러한 논리연산을 XOR(exclusive or, 배타적 논리합)연산이라고도 부른다.
집합의 의미로는 합집합에서 교집합을 뺀 것을 의미한다. 모두 같은 의미이다.
논리연산자는 사칙연산자와 마찬가지로 여러 번 중복해서 사용할 수 있는데,
연산의 순서를 만들어주기 위해 괄호 ( )를 사용해 묶어 주면 된다.
수학에서는 괄호, 중괄호, 대괄호를 사용하지만 C언어에서는 소괄호 ( )만을 사용한다.
예시
printf(“%d”, (a&&!b)||(!a&&b)); //참/거짓이 서로 다를 때에만 1로 계산
2. 입력
1 또는 0의 값만 가지는 2개의 정수가 공백을 두고 입력된다.
3. 출력
참/거짓이 서로 다를 때에만 1을 출력하고, 그 외의 경우에는 0을 출력한다.
4. 입력 예시
1 1
5. 출력 예시
0
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)를 사용하는 문제입니다.
이번 문제 설명에서는 printf(“%d”, (a&&!b)||(!a&&b)); 라는 설명을 하였는데
XOR 연산 기호의 경우 ^ 입니다. 쉽게 result = num1 ^ num2; 같이 ^ 연산을 사용하게 되면 풀 수 있습니다.
'ET의 공부 > C언어 연습문제[ 코드업 ]' 카테고리의 다른 글
[C언어 코드업 문제풀이] CodeUp 1058 : [기초-논리연산] 둘 다 거짓일 경우만 참 출력하기 (0) | 2019.12.25 |
---|---|
[C언어 코드업 문제풀이] CodeUp 1057 : [기초-논리연산] 참/거짓이 서로 같을 때에만 참 출력하기 (0) | 2019.12.25 |
[C언어 코드업 문제풀이] CodeUp 1055 : [기초-논리연산] 하나라도 참이면 참 출력하기(설명) (0) | 2019.12.24 |
[C언어 코드업 문제풀이] CodeUp 1054 : [기초-논리연산] 둘 다 참일 경우만 참 출력하기(설명) (0) | 2019.12.24 |
[C언어 코드업 문제풀이] CodeUp 1053 : [기초-논리연산] 참 거짓 바꾸기(설명) (0) | 2019.12.24 |
댓글()