http://poj.org/problem?id=3372
一群小孩围成一个圈,老师顺时针发糖,分别每间隔0,1, 2, 3, 4……发一颗,问是否每个同学都有糖
数论得做法没想出来,打印了前几项看出来得规律,只要n是2^k则输出YES,否则输出NO
数论解法:
N个人围成一个圈,老师给N个人分糖果.第i次分到的人的编号是f(x) = (x*(x+1)/2)%N,这N个人能不能至少获得1个糖果.
易知必然存在i使得f(N - i - 1) = f(N + i) (mod N), 即周期为N,