Лучше спросить к какому значению из нескольких должен сходиться приведённый алгоритм и почему к нему:
Код:
? p=24; sq=sqrt(p); for(x=floor(sq)+1,p\2-1, if((x^2)%p<sq, print1(x,",")))
5,7,10,11,
? p=48; sq=sqrt(p); for(x=floor(sq)+1,p\2-1, if((x^2)%p<sq, print1(x,",")))
7,10,12,14,17,22,23,
? p=60; sq=sqrt(p); for(x=floor(sq)+1,p\2-1, if((x^2)%p<sq, print1(x,",")))
8,11,19,22,28,29,
? p=96; sq=sqrt(p); for(x=floor(sq)+1,p\2-1, if((x^2)%p<sq, print1(x,",")))
10,14,17,22,24,26,31,34,38,45,46,47,
Понятен смысл равенства по модулю, а вот это что значит?
Это:

.