N个人围成一个圈,老师给N个人分糖果.第i次分到的人的编号是f(x) = (x*(x+1)/2)%N,这N个人能不能至少获得1个糖果.

易知必然存在i使得f(N - i - 1) = f(N + i) (mod N), 即周期为N,

只要判断f(x)能否构成N的完全剩余系,就能得出结果

f(x)为N的完全系,即证不存在i,j(i != j),使得f(i) == f(j)

                i*(i - 1)/2 = j*(j-1)/2 (mod N)

          (i-j)*(i+j+1)/2 = 0 (mod N)

其中(i-j)与(i+j+1)异号.

假设(i-j)为偶数

若(i-j)/2为偶数,当N为S*2^l(S奇数,l > 0),有解

若(i-j)/2为奇数,当N为P*Q,(P,Q是奇数),有解

类似当(i+j+1)为偶数时也一样.

因此N只能是2^l(l > 0)

相关文章:

  • 2021-11-01
  • 2022-12-23
  • 2021-11-02
  • 2021-12-27
  • 2021-12-14
  • 2022-12-23
  • 2020-10-12
  • 2021-10-02
猜你喜欢
  • 2021-06-27
  • 2022-12-23
  • 2021-09-22
  • 2021-06-15
  • 2021-11-30
  • 2021-11-10
  • 2022-12-23
相关资源
相似解决方案