设 x 的十进制位为 d0d1…dn−1(从高位到低位)。总数位和为 S。
想要 y<x 且数位和等于 S,一种稳定构造是:在某个位置 i(0≤i≤n−2)把高位 di 减去 1(要求 di≥1),然后把后缀位置 i+1…n−1 的数位重新分配,使后缀的和增加 1。这样整体和不变,且由于第 i 位变小,必有 y<x。
若记原后缀和为 R=∑j=i+1n−1dj,新后缀目标和为 R+1。只要后缀长度 L=n−i−1 满足
R+1≤9L,Bingbong 给定x,构造一个非负整数y(y<x),使得x和y的数位和相等。