문제
어떤 정수 A가 있으면 그 수를 A = a1 * a2 * a3 * a4 ... * an으로 했을 때 A' = a1 + a2 + a3 ... + an이 성립하면 "A는 A'으로 변할 수 있다"라고 한다. (ai는 정수) 만약 A'이 A"으로 변할 수 있으면 "A는 A"으로 변할 수 있다"라고 한다.
이때 A와 B가 주어지면 A는 B로 변할 수 있는지 판별하시오.
입력
첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 100)이 주어진다. 테스트 케이스마다 두 정수 A, B(-231 ≤ A, B ≤ 231-1)가 주어진다.
출력
각각의 테스트 케이스마다 한 줄에 변할 수 있으면 yes, 아니면 no를 출력한다.
풀이 과정
A -> B로 바꾸기 위해서는, 1 과 -1 을 적절히 사용하면 된다.
Ex) 10 -> 20
10 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 (10) -> 10 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 (20)
Ex) 10 -> 9
10 * 1 * -1 * -1 (10) -> 10 + 1 + -1 + -1 (9)
따라서, 모든 경우에 변할 수 있다.
C
#include <stdio.h>
int main(void) {
int t;
scanf("%d", &t);
while(t--) {
int a, b;
scanf("%d %d", &a, &b);
printf("yes\n");
}
return 0;
}
Python
t = int(input())
for _ in range(t):
a, b = map(int, input().split())
print('yes')
'-- 예전 기록 > BOJ' 카테고리의 다른 글
[ BOJ ] 28444 : HI-ARC=? ( BRONZE 5 ) / C, Python (0) | 2023.10.03 |
---|---|
[ BOJ ] 29720 : 그래서 님 푼 문제 수가? ( BRONZE 3 ) / C, Python (0) | 2023.10.03 |
[ BOJ ] 23825 : SASA 모형을 만들어보자 ( BRONZE 4 ) / C, Python (0) | 2023.10.03 |
[ BOJ ] 2355 : 시그마 ( BRONZE 2 ) / C, Python (0) | 2023.10.03 |
[ BOJ ] 17263 : Sort 마스터 배지훈 ( BRONZE 3 ) / C, Python (0) | 2023.10.03 |