Solução: Problema do número binariamente contido (Filipe Teles)
From AdonaiMedrado.Pro.Br
Revision as of 14:00, 29 April 2009 by 200.17.147.2 (Talk) (New page: <code lang="c"> #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 = (...)
#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"); }