반응형
1053 : [기초-논리연산] 참 거짓 바꾸기
답 :
#include <stdio.h>
int main(void)
{
int a,b;
scanf("%d", &a);
printf("%d", !a);
return 0;
}
1054 : [기초-논리연산] 둘 다 참일 경우만 참 출력하기
답 :
#include <stdio.h>
int main(void)
{
int a,b;
scanf("%d %d", &a,&b);
printf("%d", a&&b);
return 0;
}
1055 : [기초-논리연산] 하나라도 참이면 참 출력하기
답 :
#include <stdio.h>
int main(void)
{
int a,b;
scanf("%d %d", &a,&b);
printf("%d", a||b);
return 0;
}
1056 : [기초-논리연산] 참/거짓이 서로 다를 때에만 참 출력하기
답 :
#include <stdio.h>
int main(void)
{
int a,b;
scanf("%d %d", &a,&b);
printf("%d", (a&&!b||!a&&b));
return 0;
}
1057 : [기초-논리연산] 참/거짓이 서로 같을 때에만 참 출력하기
답 :
#include <stdio.h>
int main(void)
{
int a,b;
scanf("%d %d", &a,&b);
printf("%d", (a==b));
return 0;
}
1058 : [기초-논리연산] 둘다 거짓일 경우만 참 출력하기
답 :
#include <stdio.h>
int main(void)
{
int a,b;
scanf("%d %d", &a,&b);
printf("%d", (!a&&!b));
return 0;
}
해설
더보기
위 문제는 논리연산을 익힐 수 있다.
1이 입력되었을 때 0을 출력하고 싶으면 !(not)연산자를 사용한다.
a와 b가 둘다 참일 때 1을 출력하고 싶으면 &&(and) 연산자를 사용한다. a&&b
a와 b가 둘중 하나라도 참일 때 1을 출력하고 싶으면 ||(or) 연산자를 사용한다. a||b
a와 b가 참/거짓이 겹치지 않을 때에만 참을 출력하고 싶으면 XOR연산을한다.
- 공식) a&&!b||!a&&b (1 이면서 0 이거나 0 이면서 1인.)
a와 b가 둘다 참일때에만 참을 출력하고 싶으면 == 연산자를 사용한다. a==b
a와 b가 둘다 거짓일때만 참을 출력하고 싶으면 !a&&!b 공식을 사용하면 된다. (0이면서 0일때.)
- 논리 AND (&&):
- 모든 조건이 참일 때만 전체 표현식이 참(True)이 됩니다.
- A && B는 A와 B가 모두 참일 경우에만 참이 됩니다.
- 논리 OR (||):
- 최소한 하나의 조건이 참일 때 전체 표현식이 참(True)이 됩니다.
- A || B는 A 또는 B 중 적어도 하나가 참이면 참이 됩니다.
- 논리 NOT (!):
- 조건을 반대로 뒤집습니다.
- !A는 A가 거짓(False)일 때 참(True)이 되며, A가 참일 때 거짓(False)이 됩니다.
반응형
'C' 카테고리의 다른 글
[ Code Up (코드업) ] 기초100제 문제해설 1063~1064 [기초-삼항연산] (0) | 2023.08.30 |
---|---|
[ Code Up (코드업) ] 기초100제 문제해설 1049~1052 [기초-비교연산] (0) | 2023.08.30 |
[ Code Up (코드업) ] 기초100제 문제해설 1038~1046 [기초-산술연산] (0) | 2023.08.30 |
[ Code Up (코드업) ] 기초100제 문제해설 1031~1037 [기초-출력변환] (0) | 2023.08.30 |
[ Code Up (코드업) ] 기초100제 문제해설 1028~1030 [기초-데이터형] (0) | 2023.08.30 |