Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > dk.edb.programmering > #80

[Python] Kombinatorik og store tal

From Bertel Lund Hansen <gadekryds@lundhansen.dk>
Newsgroups dk.edb.programmering
Subject [Python] Kombinatorik og store tal
Date 2019-09-07 12:20 +0200
Organization A noiseless patient Spider
Message-ID <ff6buhnzcdqg$.dlg@lundhansen.dk> (permalink)

Show all headers | View raw


Jeg er ved at lave nogle beregninger der drejer sig om
bridgehænder og hele bridgefordelinger.

Det er nemt nok at beregne at der er 635'013'559'600 forskellige
mulige hænder med 13 kort.

For at beregne mulige kortfordelinger - altså alle fire hænder,
beregner jeg videre at der er 
8'122'425'444
10'400'600
og 1 mulighed for de sidste tre hænder. Så langt så godt.

For at beregne antallet af mulige fordelinger, tager jeg så de
fire tal og ganger sammen. Jeg har set et sted en der har
beregnet det til:

53'644'737'765'488'792'839'237'440'000

Når jeg i et Pythonprogram beregner tallet, får jeg:

53'644'737'765'488'807'796'260'470'784

Det må nødvendigvis være forkert, for man kan se af de fire
faktorer at det rigtige svar skal ende med fire 0'er.

1. Så første spørgsmål er: Hvorfor regner Python ikke nøjagtigt?
Hvis jeg f.eks. beder Python om at udskrive 2^19937, så får jeg
1842 korrekte cifre udskrevet.

2. Mit andet spørgsmål går på om det egentlig er rigtigt blot at
gange de fire tal sammen. Hvis vi f.eks. har fire hænder som vi
betegner a, b, c og d, og de fire spillere hedder naturligvis N,
Ø, S og V. Så har vi én fordeling:

  	N a, Ø b, S c, V d

men har vi ikke også medtaget:

  	N d, Ø a, S b, V c

som i virkeligheden er samme spil?

-- 
/Bertel

Back to dk.edb.programmering | Previous | Next | Find similar


Thread

[Python] Kombinatorik og store tal Bertel Lund Hansen <gadekryds@lundhansen.dk> - 2019-09-07 12:20 +0200

csiph-web