此题显然可以看出这就是求一个等差数列使得和为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,那么就是满足题意的一种方案。