Spelrum
Giraffen32
Krokodilen0
Elefanten2
Musen
Böjningslistan
1
Grisen
Böjningslistan
26
Inloggade61
Mobilspel
Pågående20 299

Forumkategorier

Användare Inlägg  
amandahug - Ej medlem längre2009-10-19 22:01
Antal inlägg: 608

Sen hade man på den tiden inte i hela världen gemensamt tillgång till samma beräkningskraft som varje människa idag kan köpa för en månadslön, mer eller mindre. Detta kan ha varit en bidragande orsak till att han inte räknade sådana här spännande tal. Nu har jag räknat på detta i över en timme, och jag har fortfarande inte någon aning om huruvida jag kommer få fram svaret inom en minut eller om femtio år.
 
Rhotheta2009-10-19 22:22
Antal inlägg: 4992

Rätt coolt faktiskt!

Kan du starta en annan dator som får arbeta med att uppskatta tiden?

Uppskattar du tiden? Väntetiden;)

Kan bara buga mig för dig och Anders m.fl.! Computing is the shit! Hann aldrig komma dit på allvar. Hade varit kuriosakul, faktiskt.
 
amandahug - Ej medlem längre2009-10-19 22:24
Antal inlägg: 608

Jag skulle kunna starta några kluster på jobbet, men jag tror inte att jag blir så uppskattad då :)
 
Rhotheta2009-10-19 22:25
Antal inlägg: 4992

;)
 
amandahug - Ej medlem längre2009-10-19 22:30
Antal inlägg: 608

Nu lägger jag ner uträkningen. Resultatet är inte tillräckligt intressant för att jag ska orka vänta på att det ska bli klart. Beklagar å det djupaste. Om någon är intresserad av svaret får ni gärna sponsra mig med en bättre dator. ;)
 
amandahug - Ej medlem längre2009-10-19 22:52
Antal inlägg: 608

Ett mer korrekt värde för indelning i dagar (365.25 dagar per år) är: 16884570447590028650
 
amandahug - Ej medlem längre2009-10-19 22:55
Antal inlägg: 608

Nej det var fel siffra, det skulle vara:
5552846461806394672
(jämfört med för 365 dagar: )
5533872767696041670
 
Rhotheta2009-10-19 22:58
Antal inlägg: 4992

Ja, 5533872767696041670 kändes ju lite i underkant för 20 år;)

Gluttade på Haskellsnutten. Verkar ju vara ett rätt händigt språk. (Om man inte är den stackars datorn;)
 
ANDERStG2009-10-19 23:21
Antal inlägg: 7560

Och vad är det som tar tid (i dessa uträkningar av tvivelaktig nytta)? Ni kan väl använda Stirlings formel
en.wikipedia.org/wik...ro ximation
 
amandahug - Ej medlem längre2009-10-19 23:31
Antal inlägg: 608

Optimerade koden lite och räknade nu ut följande möjligheter för:
enheter om timmar: 4417175154796572864446062 8
minuter: 3434650916291340554075710 1044837680
sekunder: 2670782680024742266835539 4783653268162260800

attosekunder:
2670782648287743965190967 8192569981591725602373632 0014247201115471749120000 0000298764635328000000000 0000002882260800000000000 000000000

plancktidsenheter:
1216415299933009643048878 1382920029598556812798517 2068493626279144888749909 4259571247370596496965632 0000002232520994719525862 1137951302012108800000000 0000000000868373416802644 8521932800000000000000000 0000000000000155389597153 9200000000000000000000000 000000000000000000
 
ANDERStG2009-10-19 23:33
Antal inlägg: 7560

Optimerade hur? Lite lustigt att det blir hopar av nollor.
 
amandahug - Ej medlem längre2009-10-19 23:35
Antal inlägg: 608

fact :: Integer -> Integer
fact n = product [1..n]

fallingFact :: (Integer, Integer) -> Integer
fallingFact (x, n) = product [x - fromInteger i | i <- [0..toInteger n - 1] ]

nMultichooseK :: (Integer, Integer) -> Integer
nMultichooseK (n,k) = fallingFact (n+k-1, k) `div` fact k

-- den höga siffran är en approximation av antalet plancktidsenheter under 20 år x 2 kön
dysleksoBarn a = [(nMultichooseK (680538381696000000000000 0000000000000000000000000 00000, n)) | n <- a]

main = print (sum (dysleksoBarn ([1..5])))
 
ANDERStG2009-10-19 23:39
Antal inlägg: 7560

Usch, orkar inte förstå främmande språk... Du kan väl inte få den att beräkna exakta fakulteter av 50-siffriga tal på rimlig tid?
 
amandahug - Ej medlem längre2009-10-19 23:46
Antal inlägg: 608

Så länge man använder diverse optimeringar så går det bra, bevisligen. Jag är inte själv någon expert på Haskell heller. Har bara använt det i ca 5 timmar.
 
ANDERStG2009-10-19 23:48
Antal inlägg: 7560

10^50 multiplikationer, du inser att det är orimligt?
 
amandahug - Ej medlem längre2009-10-19 23:48
Antal inlägg: 608

Rättelse: Så länge man formulerar sig så att uträkningarna i själva verket inte behöver göras så går det bra.
 
amandahug - Ej medlem längre2009-10-19 23:48
Antal inlägg: 608

(Lazy evaluation)
 
ANDERStG2009-10-19 23:49
Antal inlägg: 7560

Kanske språket förstår att beräkna "product [1..n]" med Stirlings formel för höga n?
 
amandahug - Ej medlem längre2009-10-19 23:52
Antal inlägg: 608

Nej men eftersom jag har låga värden på k i n multichoose k är det bara några få multiplikationer som behöver göras i och med funktionen fallingFact.
 
ANDERStG2009-10-19 23:52
Antal inlägg: 7560

Suck, om du vet hur svaret producerats så säg till, om det är magi så låt bli.
 
Visar sida: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
Inloggning
Logga in
Betapet är gratis!
Vill du bli medlem?