Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > dk.edb.programmering > #80
| 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) |
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
[Python] Kombinatorik og store tal Bertel Lund Hansen <gadekryds@lundhansen.dk> - 2019-09-07 12:20 +0200
csiph-web