, , ( , L, L ) , ... 2sqrt (n), O (Nsqrt (N)).
, , , sqrt (n), x, N/x. , 2sqrt (N).
, , 12, : 1,2,3 ( sqrt), 12/1, 12/2, 12/3 ( ).
2 , L , - N/L , O (N).
static bool f(string s)
{
int n = s.Length;
for (int l = n / 2; l >= 1; l--)
{
if (n % l != 0) continue;
bool d = true;
for (int o = 0; o < l; o++)
{
char f = s[o];
for (int p = l; p < n; p += l)
if (s[p + o] != f) d = false;
}
if (d == true) return true;
}
return false;
}
:
if (n % l != 0) continue;
O (N ^ 2).
N/2 , < 2sqrt (N). , - .