#10726 이진수표현
정수 N, M이 주어질 떄, M의 이진수 표현의 마지막 N 비트가 모두 1로 켜져 있는지 아닌지를 판별하는 문제
#include <stdio.h>
int main(void){
int tc, T;
int n, m, i=0;
int r[100];
scanf("%d", &T);
for(tc=1; tc<=T; tc++){
scanf("%d%d", &n, &m);
while(m>0){
r[i] = m%2;
m/=2;
i++;
}
printf("#%d ", tc);
for(i=0; i<n; i++){
if(r[i]){
if(i==n-1){
printf("ON\n");
break;
}
}
else{
printf("OFF\n");
break;
}
}
}
return 0;
}
m을 2로 나눈 나머지를 r이라는 배열에 차례대로 넣어주면 r에는 m의 이진수 표현이 반대로 들어가게 된다. 그럼 배열의 첫번째부터 n개의 숫자가 1인지 확인하면서 1이 아니면 off를 출력시키고 1이 n개라고 확인될 시 on을 출력시킨다.
'SWEA > [D3]' 카테고리의 다른 글
[D3] SWEA9317 석찬이의 받아쓰기 (0) | 2020.11.06 |
---|---|
[D3] SWEA 10505 소득불균형 (0) | 2020.11.06 |
[D3] SWEA10059 유효기간 (0) | 2020.09.26 |
[C언어] SWEA 10505 - 소득 불균형 (0) | 2020.09.20 |
[D3] SWEA10032 과자 분배 (0) | 2020.09.20 |