MathLabs

第3题

对于正整数 kk,令 f(k)f(k) 为 {k+1,…,2k}\{k+1,\ldots,2k\} 中二进制表示恰有三个 11 的整数个数。证明每个正整数 mm 都能取为某个 f(k)f(k),并求出恰有一个 kk 满足 f(k)=mf(k)=m 的所有 mm。
第 1/5 步:追踪函数的一步变化
通俗地说

追踪函数的一步变化

f(k+1)−f(k)∈{0,1}f(k+1)-f(k)\in\{0,1\}
详细分析

从 kk 变到 k+1k+1 时移去 k+1k+1,加入 2k+12k+1 和 2k+22k+2。2k+22k+2 的二进制表示是在 k+1k+1 的表示末尾添一个 0,因此这两项贡献抵消。于是当且仅当 2k+12k+1 有三个 11 时 f(k+1)=f(k)+1f(k+1)=f(k)+1,否则 f(k+1)=f(k)f(k+1)=f(k)。