20110824, 07:46  #1 
May 2011
France
7·23 Posts 
Perfect sqquare
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 
20110824, 08:56  #2  
Mar 2009
2·19 Posts 
Quote:
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) Last fiddled with by Gammatester on 20110824 at 09:40 

20110824, 12:00  #3 
May 2011
France
7×23 Posts 
Like often when you don't have the answer you answer at an other question
But this time you try to show us waht to show that youare a good informaticman Wrong! You are still not good: Your answer is the demonstration of your incompetence My question can't be with real ou expand for numeros reasons First Just to shows that it's stupide Code:
i F (n & 7 == 1) or (n & 31 == 4) or (n & 127 == 16) or (n & 191 == 0) then I remove the if (sorry rthat you don(r see) Try to compile this code with n real,simple,ou doiuble If you don't want like me use a AND , OR... iis easy and need only one cycle with a computer: if n%10==3 THEN I explain you or a axn? He is waiting to terminate my calcul (We are waiting the time of his fabulous processor). When you go on primes numbers forums its implicit thaht you wor on Z (psotif integer) you learn when you will be n adult.Perhaps you make an estroaordinarry fif : no reals in the primes number John PS with axn we have not the sames ideas but ,he and I, try to give positifs elements Thanks to keep stupid comments for you: don't answer to my thread you don't understand: I speak informatic John 
20110824, 12:42  #4 
"Forget I exist"
Jul 2009
Dumbassville
8,369 Posts 
if you want to check the last decimal digit of a number do mod 10 and compare to the endings of squares ( 0,1,4,9,6,5) is how I would do it. also if (x(x mod 10 ))/10 is a certain type of number you can tell if it's a square even more.

20110824, 14:12  #5 
Romulan Interpreter
Jun 2011
Thailand
2^{2}×7×317 Posts 
This question is already well debated on the forum, see fenderbender's posts, with bloom filters and all the stuff.

20110824, 15:57  #6 
May 2011
France
7·23 Posts 
3
Like you sayd a mod 10 give the result ,But on a CISC a AND is speeder than a div so with a AND the time will be the same on the two processors
and it hope than in (n & 7 == 1) or (n & 31 == 4) or (n & 127 == 16) or (n & 191 == 0) the 3 was tested with the 1 and 2 test or the 2 and 4 or ... first N must be odd!!!! (n & 1 == 1) J 
Thread Tools  
Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
Down to a perfect number  fivemack  Aliquot Sequences  0  20141223 09:47 
Odd Perfect Number is 36k+9 ?  isaac  Miscellaneous Math  5  20140722 22:18 
Next perfect square after 2^n.  soumya  Miscellaneous Math  1  20130328 02:06 
Perfect square or not?  jnml  Puzzles  12  20120428 21:33 
Odd Perfect Numbers  ZetaFlux  Math  1  20030528 19:41 