SWEA/[D3]

[D3] SWEA 10726 이진수표현

ruming 2020. 11. 2. 21:23

#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