![]() |
![]() |
#1 |
May 2011
France
7·23 Posts |
![]()
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 |
![]() |
![]() |
![]() |
#2 | |
Mar 2009
2×19 Posts |
![]() Quote:
First of all: Do you want to test multi-precision 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 multi-precision numbers there is a second question: Do you really mean "digit" = decimal digit or do you mean bit. Since most implementations use a power-of-2 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 2011-08-24 at 09:40 |
|
![]() |
![]() |
![]() |
#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 |
![]() |
![]() |
![]() |
#4 |
"Forget I exist"
Jul 2009
Dumbassville
26·131 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.
|
![]() |
![]() |
![]() |
#5 |
Romulan Interpreter
Jun 2011
Thailand
915310 Posts |
![]()
This question is already well debated on the forum, see fenderbender's posts, with bloom filters and all the stuff.
|
![]() |
![]() |
![]() |
#6 |
May 2011
France
2418 Posts |
![]()
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 | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Down to a perfect number | fivemack | Aliquot Sequences | 0 | 2014-12-23 09:47 |
Odd Perfect Number is 36k+9 ? | isaac | Miscellaneous Math | 5 | 2014-07-22 22:18 |
Next perfect square after 2^n. | soumya | Miscellaneous Math | 1 | 2013-03-28 02:06 |
Perfect square or not? | jnml | Puzzles | 12 | 2012-04-28 21:33 |
Odd Perfect Numbers | Zeta-Flux | Math | 1 | 2003-05-28 19:41 |