Solução: Problema do número binariamente contido (Filipe Teles)
From AdonaiMedrado.Pro.Br
#include <stdio.h> int main() { int n, m, k, direita; scanf("%d", &n); scanf("%d", &m); scanf("%d", &k); //((1 << k) -1) == k bits à direita com 1 direita = ((1 << k) -1) & m; while (n) { if ( ((direita & n) == m ) && (m == (((1 << k) -1) & n)) ) { printf("1\n"); return 1; } else n = n >> 1; } printf("0\n"); }