此题显然可以看出这就是求一个等差数列使得和为N。我们假设首项是x,项数是m,则有(x+x+m-1)*m/2=N
我们转换一下,得到x=(2N-m(m-1))/2m。我们可以看到只需要2N-m(m-1)能被2m整除的话,x就有解。所以我们可以考虑遍历m,如果这个m对应有正整数解x,那么就是满足题意的一种方案。
| Name | Name | Last commit date | ||
|---|---|---|---|---|
parent directory.. | ||||
此题显然可以看出这就是求一个等差数列使得和为N。我们假设首项是x,项数是m,则有(x+x+m-1)*m/2=N
我们转换一下,得到x=(2N-m(m-1))/2m。我们可以看到只需要2N-m(m-1)能被2m整除的话,x就有解。所以我们可以考虑遍历m,如果这个m对应有正整数解x,那么就是满足题意的一种方案。