mersenneforum.org

mersenneforum.org (https://www.mersenneforum.org/index.php)
-   PARI/GP (https://www.mersenneforum.org/forumdisplay.php?f=155)
-   -   PARI's commands (https://www.mersenneforum.org/showthread.php?t=13636)

science_man_88 2010-08-24 20:14

I tried it on 2047 it works when did you get an error ?

CRGreathouse 2010-08-24 20:20

[QUOTE=science_man_88;226887]I tried it on 2047 it works when did you get an error ?[/QUOTE]

Oh I see: you don't want the sum of the digits but rather the digital sum of the number. In that case your code is fine. (Use addhelp, that way this sort of thing won't happen so much!)

science_man_88 2010-08-24 20:26

I figured you'd know as it's your advice about it earlier in this thread that I made it with by the way I was able to do:

[CODE](17:21) gp > sumdigits(2^20470000-1)
%550 = 6
(17:21) gp > ##
*** last result computed in 47 ms.[/CODE]

your gave me this:

[CODE](17:21) gp > dsum(2^20470-1)
%549 = 27762
(17:21) gp > ##
*** last result computed in 94 ms.[/CODE]

if we can loop your code until it's a one digit number and speed it up it's okay. but if each step took as long as this one. my code would be 6 times the speed at least.

3.14159 2010-08-24 20:35

[QUOTE=CRGreathouse]Primes with a prime number of digits... hmm. I wonder in what sense this has positive density. Of course it has natural density 0, as a subset of the primes; I don't know what its upper logarithmic density would be. If that's not positive, is there a finer measure? I wonder.

The set is 'weird' because it has huge gaps, then lots of relatively densely packed elements: no members (strictly) between 10^114 - 153 and 10^126 + 679, a gap of length ~10^126, but then > 3.44218 * 10^123 members in the next 10^126.[/QUOTE]

Is it as weird as the subset of primes that have a square number of digits? (2, 3, 5, 7, 1009, 1013, 1019, 1021, 1031, 1033, 1039.. 9973, 100000007, ..)

CRGreathouse 2010-08-24 20:37

[QUOTE=science_man_88;226889]if we can loop your code until it's a one digit number and speed it up it's okay. but if each step took as long as this one. my code would be 6 times the speed at least.[/QUOTE]

We're computing essentially different things. If all you need is the digital root, then by all means compute that! If you need the sum of the digits, it's a much harder task.

Similarly, factoring an integer is harder than just testing for primality; if you can get away with the latter, do that.


For what it's worth, your code could be modified to be roughly twice as fast. Two possibilities for n > 0 spring to mind:
[code]droot(n)={
my(k=n%9);
if(k,k,9)
};

droot1(n)={
((n-1)%9)+1
};[/code]

I'm not sure which is faster, probably the former. Test them and see!

CRGreathouse 2010-08-24 20:38

[QUOTE=3.14159;226890]Is it as weird as the subset of primes that have a square number of digits? (2, 3, 5, 7, 1009, 1013, 1019, 1021, 1031, 1033, 1039.. 9973, 100000007, ..)[/QUOTE]

It's weird in a similar way, yes. Of course things having to do with decimal digits are usually unnatural. :smile:

science_man_88 2010-08-24 20:46

[QUOTE=CRGreathouse;226891]
I'm not sure which is faster, probably the former. Test them and see![/QUOTE]

by 3 test each the first is ahead by one test as the other 2 match the time for the second. lowest time so far is 16 ms.

CRGreathouse 2010-08-24 20:53

[QUOTE=science_man_88;226893]by 3 test each the first is ahead by one test as the other 2 match the time for the second. lowest time so far is 16 ms.[/QUOTE]

The timer isn't really accurate for very small times. Test a lot of numbers to check:
[code]for(i=1,1e5,droot(i))[/code]
or something like that.

Looks to me like droot1 is better, at least for small numbers. For big numbers, let's do
[code]v=vector(10^5,unused,random(10^1000));
for(i=1,#v,droot(v[i]))[/code]

Looks like the winner is still droot1, which is faster than droot, which is faster than sumdigits.

3.14159 2010-08-24 21:00

[QUOTE=CRGreathouse]It's weird in a similar way, yes. Of course things having to do with decimal digits are usually unnatural.
[/QUOTE]

Ah well: Random prime of the day:
9845575878878960828055703578149239033062029198602060374047309547974126063126741251854204515517297810571460660189707205143591982239643 (133 digits)

kar_bon 2010-08-24 21:09

[QUOTE=3.14159;226895]Ah well: Random prime of the day:
[code]
9845575878878960828055703578149239033062029198602060374047309547974126063126741251854204515517297810571460660189707205143591982239643 (133 digits)[/code][/QUOTE]

...and
[code]
98455758788789608280557035781492390330620291986020603740473095479741260631267412518542045155172978105714606601897072051435919822396433
[/code]
(134 digits), too!

3.14159 2010-08-24 21:22

[QUOTE=Karsten]...and

[code]98455758788789608280557035781492390330620291986020603740473095479741260631267412518542045155172978105714606601897072051435919822396433[/code]

(134 digits), too!
[/QUOTE]

[code]160074594123956794219458402545764711419701756584167638068329365693034831201396939643913504262352130745852290381939420288140978693341478528259387657797580376902986395224408345354821071590949525350364018649578862749297255505837416439606095853836355923951566526457673735312339184330365326723420347366112675200713878660771081227364603472040699601553789595479339960277304318254798850917751885704667910151149091532150905626179048799036700679933820859845365985390911277048117168671365128451668210581621327277787092273718680191991994664786587234396792965881059281805213980760310898060678555989602303590308736441654087832242397146458759717551025723008092342436218853265799505252096172021953238850043510060599858403400384570222716416699106818277439891613536333361593153540409685328569171314344686601795619300473375554423332099932225456784121921559118525805374656294079430382561204188488274552102452626811652972822901469815861523877416162913528086735710854833100692524526048253371898482177626664655396682221293652089791416114579511127188674154339902564205267260071373223290668469512503977940823503507668484572724611665887674632905471958304064277923482051286050072649[/code]

1155 digits! Ha!


All times are UTC. The time now is 23:10.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.