"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Zahl mit 10 mio-ziffern in c\c++

fresserettich 06.01.2004 - 22:22 9679 110 Thread rating
Posts

SoulFly

Bloody Newbie
Registered: Jan 2004
Location: Krenglbeach City
Posts: 14
Zitat von that
Es gibt rund 10^10000000 Zahlen mit 10 Millionen Stellen. Wenn du davon auch nur 0,1% in einer Tabelle speichern willst, viel Glück.
Sogar ein Yottabyte wäre "nur" 10^24 (also eine Billion Terabyte), und darüber gibts nichtmal mehr Worte für die Einheiten. Zum Vergleich: Die Datenbank von Google hat angeblich ca. 2 Petabyte.

es steht eh oben, wie man eine zahl mit 11 mil stellen "kompakt" speichern kann: Textdatei mit dem Zahlstring + ZIP

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
Kompakter als ein Atom wird's wohl nicht gehen, und selbst mit der Anzahl aller Atome im Universum geht es sich um viele viele Größenordnungen nicht aus.

SoulFly

Bloody Newbie
Registered: Jan 2004
Location: Krenglbeach City
Posts: 14
Zitat von Ringding
Kompakter als ein Atom wird's wohl nicht gehen, und selbst mit der Anzahl aller Atome im Universum geht es sich um viele viele Größenordnungen nicht aus.

dann sag mir was kompakter ist: 11 Megabyte oder 27 Kilobyte?
Ihr checkts das eh überhaupt nicht, müsst aber mitreden ... :rolleyes:

zimmski

Bloody Newbie
Registered: Jan 2004
Location: ask me
Posts: 13
@ that: hast du eigendlich meinen post durchgelesen? wenn nicht dann machs bitte nochmal. vielleicht fällt dir dan auf das ich nur di zahlen speicher di HOCHgerechnet werden.... und davon gibts pro millionen stelle 1mil(+viele zerquetschte wenst niedrige primzahlen zum hochrechnen nimmst) pro primzahl... und bitte denks vorher mal nach bevors was schreibts. hät dach des board hat ein höhers niveau...

:fresserettich: jamjamjam

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
Die meisten der Unverständigen haben wahrscheinlich schon mehr von Mathe gehört als ihr, und wir würden es ja gern verstehen, nach eurer Erklärung können wir das aber beim besten Willen nicht.

zimmski

Bloody Newbie
Registered: Jan 2004
Location: ask me
Posts: 13
auf ein neues:

machen wir es als beispiel für di zahlen zwischen 3000 und 4000

also wir möchten von diesen zahlen herausfinden ob sie primzahlen sind...

wir prüfen also zuerst mit 2,3,5

bei 2 schaun wir uns an ob das erste zeichen der zahl eine 0,2,4,6,8 ist wenn ja -> nix primzahl
bei 3 bilden wir ziffernsumme und daraus wieder ziffernsumme und das so oft bis wir nurnoch eine zahl mit einer ziffer haben ... ist diese ziffer durch 3 teilbar -> nix primzahl
dann kontrollieren wir 5 .. und zwar wieder das erste zeichen ist es eine 5 dann -> nix primzahl

sodala dann müssen wir nur noch mit den hochrechnungen arbeiten(siehe mein gif-bild das i vorher eingefügt hab...) di in dem bereich von 3000 - 4000 sind das sind:

59 - hoch 2 = 3481
61 - hoch 2 = 3721

mit denen müssen wir vergleichen.. und hey mir is grad was aufgefallen ;)

wir brauchen eine tabelle mit allen multiplikationen von den primzahlen angehend ab 7 mit allen multiplikationen di zwischen 3000 und 4000 liegen also:

59 * 53 = 3127
59 * 59 = 3481
61 * 53 = 3233
61 * 59 = 3599
61 * 61 = 3721
67 * 47 = 3149
......................

und so weiter

mit denen können wir dann vergleichen was ja ziemlich schnell geht .. aber der speicherverbrauch ist hald verdammt hoch...

also nochmal man braucht ne tabelle mit hochrechnungen und (neu) mit multiplikationen.. ich werd später den code für die function posten di ne tabelle mit multiplikationen erstellt....

Geigerzeiger

Addicted
Registered: Jan 2004
Location: anywhere
Posts: 449
@that da muss ich dir zustimmen
wie soll man eine tabelle dieser derartigen größenordnung handhaben bzw. speichern?

Geigerzeiger

Addicted
Registered: Jan 2004
Location: anywhere
Posts: 449
ja und? vergleichen ist gut aber wie möchtest du eine derart große tabelle erstellen? wo soll die platz haben?

SYSMATRIX

Legend
Legend
Registered: May 2000
Location: ~
Posts: 5020
Zitat
Es gibt rund 10^10000000 Zahlen mit 10 Millionen Stellen. Wenn du davon auch nur 0,1% in einer Tabelle speichern willst, viel Glück.
Sogar ein Yottabyte wäre "nur" 10^24 (also eine Billion Terabyte), und darüber gibts nichtmal mehr Worte für die Einheiten. Zum Vergleich: Die Datenbank von Google hat angeblich ca. 2 Petabyte.

Zitat
Kompakter als ein Atom wird's wohl nicht gehen, und selbst mit der Anzahl aller Atome im Universum geht es sich um viele viele Größenordnungen nicht aus.

SYSMATRIX

Legend
Legend
Registered: May 2000
Location: ~
Posts: 5020
Zitat von zimmski
59 * 53 = 3127
59 * 59 = 3481
61 * 53 = 3233
61 * 59 = 3599
61 * 61 = 3721
67 * 47 = 3149
......................

was sind diese produkte? sollen das primzahlen sein?

fresserettich

Here to stay
Registered: Jul 2002
Location: hier
Posts: 5374
wichtig sind ja die sachen dass man ziemlich schnell auf 2 überprüfen kann und --> es fallen schon mal sehr viele zahlen weg weil wenn man sich mal 1-10 anschaut weiß ja jeder 2,4,6,8,10 sind durch 2 teilbar also haben wir schon mal die hälfte der zahlen eliminert :D

aber ich finde es gut dass ihr versucht uns auf mögliche probleme hinzuweisen so kommen wir sicher auf einiges drauf :)
ps ich habe auch schon mit ein profs. aus unserer schule gesprochen ich glaubei die können uns auch sicher weiterhelfen :)

SYSMATRIX

Legend
Legend
Registered: May 2000
Location: ~
Posts: 5020
FYI:
2 ist eine primzahl.

SoulFly

Bloody Newbie
Registered: Jan 2004
Location: Krenglbeach City
Posts: 14
hmm ... wir sagen eine zahl die 11 mil stellen hat kann man auf 27 kb zippen ... wenn man angenommen 100 davon hat: 27 * 100 = 27 000 Kb = 27 MB ... nach dem wir immer genau soviele verschicken wie clients das sind (wir werden nicht 500 zahlen errechnen und die auf 2 clients verteilen :rolleys:) hängt der speicherplatz des programms von den clients ab ... und wenn sich herausstellt, dass die zahl die wir z.b.: in prim1.zip gespeichert haben KEINE prim ist ==> löschen und vergessen ... so wird sich (hoffentlich) der speicherplatz gering halten ...

p.s.: ich fang z.b.: bei der ersten zahl an die 11 mil stellen hat und addiere dann auf, die, die ausgerechnet wurden, lösch ich wieder ...

h4de5

-
Avatar
Registered: Sep 2001
Location: bgld
Posts: 1112
Zitat von SYSMATRIX
was sind diese produkte? sollen das primzahlen sein?

ich glaub, genau das sind keine primzahlen, nur halt alle die dazwischen liegen (und nicht durch 2,3,4, ... teilbar sind) sind dann primzahlen .. oda versteh i das ned?

PS: verfolg das liebe treiben jez schon seit dem threadstart - finds recht lustig :) ich hoff ihr setzt eure idee durch und macht a gscheits programm draus :)

fresserettich

Here to stay
Registered: Jul 2002
Location: hier
Posts: 5374
wtf? :eek:
also für mich ist eine primazahl folgendes:
sie ist nur durch sich selbst und durch 1 mit 0 rest teilbar
oder stimmt das etwa nicht?
-->wenn die zahl durch 2 teilbar ist kann sie keine primzahl mehr sein
fyi
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz