Quote:
Originally Posted by JohnFullspeed
When you search a perfzct square the first step is to test the last digit
I need tto find value with 3 like last didit
Id ity possible to make one or two tests like
(n & 7 == 1) or (n & 31 == 4) or (n & 127 == 16) or (n & 191 == 0) then John

As usual you are far too vague for a precise direct answer.
First of all: Do you want to test multiprecision numbers or single precision numbers (for single precision in the FPU range a simple check if floor(sqrt(n))^2 = n is quite efficient).
If you want to test multiprecision numbers there is a second question: Do you really mean "digit" = decimal digit or do you mean bit.
Since most implementations use a powerof2 base, a mod 1000 is not very effective as a first step. More effective is e.g. a first test mod 128, i.e. use the least significant limb & 127 for a table lookup, this has a rejection rate of about 82%.
As a reference see e.g. H. Cohen, A Course in Computational Algebraic Number Theory, 4th printing, 2000. IIRC Cohen uses mod 64 instead of 128 (see also the Pari source function carremod in arith1.c)