#include #include int A003188(int n){ return n^(n/2); } int A006068(int n){ int m; if(n<2){return n;} else{ m = A006068(n/2); return 2*m + (n%2 + m%2)%2; } } int A268717(int n){ if(n<1){return 0;} return A003188(1 + A006068(n - 1)); } int a(int n){ return 31 - __builtin_clz(n^A268717(n + 1)) ; } int main() { int n; for(n=0; n<=200; n++){ printf("%d, ",a(n)); } return 0; }