首先理解算术级数之和是什么
> 等差数列的前N项和称为一个算术级数。
因此,我们需要找到一个公差为111等差数列,使它的所有数之和为NNN,
设这个数列为{A,A+1,A+2,...,A+(K−1)}\{A,A+1,A+2,...,A+(K-1)\}{A,A+1,A+2,...,A+(K−1)},它的首项是AAA,末项是A+(K−1)A+(K-1)A+(K−1),项数是KKK,
所以总和S=K2(A+A+K−1)=K2(2A+K−1)S=\FRAC{K}{2}(A+A+K-1)=\FRAC{K}{2}(2A+K-1)S=2K (A+A+K−1)=2K (2A+K−1),
也就是K2(2A+K−1)=N\FRAC{K}{2}(2A+K-1)=N2K (2A+K−1)=N,
方程可重写为2A+K−1=2NK2A+K-1=\FRAC{2N}{K}2A+K−1=K2N ,
因为A,K,NA,K,NA,K,N都是整数,所以KKK必须是2N2N2N的因数,2A+K−12A+K-12A+K−1必须是222的倍数,
所以我们只需要遍历2N2N2N的因数,并判断2A+K−12A+K-12A+K−1是否是222的倍数
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------