池塘里有 nnn 片荷叶排成一个环,编号为 0∼n−10\sim n-10∼n−1;一只青蛙站在 000 号荷叶上, 它每次可以跳跃 k(0<k<n)k(0<k<n)k(0<k<n) 步,即当前青蛙在 iii 号荷叶上,则下一步它可以跳跃 到 (i+k)%n(i+k)\%n(i+k)%n 号荷叶上。现在它想知道,要跳遍所有的荷叶,kkk 的所有可能取值。
有没有单次低于 n\sqrt nn 的做法(1≤n≤1091\le n\le 10^91≤n≤109)?