www.matheraum.de
Das Matheforum.
Das Matheforum des MatheRaum.

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Mathe
  Status Schulmathe
    Status Primarstufe
    Status Mathe Klassen 5-7
    Status Mathe Klassen 8-10
    Status Oberstufenmathe
    Status Mathe-Wettbewerbe
    Status Sonstiges
  Status Hochschulmathe
    Status Uni-Analysis
    Status Uni-Lin. Algebra
    Status Algebra+Zahlentheo.
    Status Diskrete Mathematik
    Status Fachdidaktik
    Status Finanz+Versicherung
    Status Logik+Mengenlehre
    Status Numerik
    Status Uni-Stochastik
    Status Topologie+Geometrie
    Status Uni-Sonstiges
  Status Mathe-Vorkurse
    Status Organisatorisches
    Status Schule
    Status Universität
  Status Mathe-Software
    Status Derive
    Status DynaGeo
    Status FunkyPlot
    Status GeoGebra
    Status LaTeX
    Status Maple
    Status MathCad
    Status Mathematica
    Status Matlab
    Status Maxima
    Status MuPad
    Status Taschenrechner

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Mathe-Seiten:Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenAnwendungsprogrammeSchriftliches Rechnen
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Philosophie • Religion • Kunst • Musik • Sport • Pädagogik
Forum "Anwendungsprogramme" - Schriftliches Rechnen
Schriftliches Rechnen < Anwendungsprogramme < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Anwendungsprogramme"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Schriftliches Rechnen: grosser Teiler
Status: (Frage) beantwortet Status 
Datum: 10:19 Fr 16.03.2007
Autor: nitrosio

Guten Tag. Ich möchte gerne ein Programm (in QBasic) entwickeln, mit dem ich möglichst grosse Primzahlen berechnen kann. Jetzt möchte ich nicht den MOD-Befehl verwenden und bei einer normalen Division hat der Teiler eine maximale Grösse von 200'000'000. Das ist mir aber zu wenig; ich möchte (wenigstens auch nur theoretisch) mit mehreren Millionen Kommastellen und entsprechend grossen Textstrings arbeiten. Jetzt meine frage: wie mache ich das genau; wie kann ich schriftlich eine Zahl durch einen möglichst grossen Divisor teilen? Kann mir da jemand weiterhelfen? Vielen Dank.

Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

        
Bezug
Schriftliches Rechnen: Antwort
Status: (Antwort) fertig Status 
Datum: 11:19 Fr 16.03.2007
Autor: Ankh

Divident : Divisor = Quotient
Sei a, der Divident, m-stellig und b, der Divisor, n-stellig und c der Quotient.
Bezeichne [mm] x_i [/mm] die i-te Stelle einer Zahl.
Dann müsste die Rechnung ungefähr so ablaufen:

Falls m < n, dann c = 0,..., weiterrechnen mit a*10.

Für m>n: suche das minimale k so dass [mm] a_1a_2...a_k \ge [/mm] b gilt. Die nächste Stelle [mm] c_i [/mm] ergibt sich aus [mm] $[a_1a_2...a_k [/mm] : b] [mm] \in \{1, ..., 9\}$. [/mm]
Weitermachen mit [mm] (a_1a_2...a_k [/mm] - [mm] (c_i *b))*10+a_{k+1}. [/mm]
Abbruchbedingung: [mm] a_1a_2...a_k [/mm] - [mm] (c_i [/mm] *b) = 0.

Für m=n: Testen, ob a < b gilt und entsprechend Fall 1 oder 2 abarbeiten.

Wenn a, b keine Primzahlen sind, ist es sinnvoll mit Primfaktorzerlegung zu arbeiten.

Bezug
                
Bezug
Schriftliches Rechnen: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 13:16 Fr 16.03.2007
Autor: nitrosio

Vielen Dank für deine Antwort, Ankh. Ich muss wohl also ganz normal vorgehen; d.h. ich ich nehme so viele Stellen vom Dividenten, bis ich ihn teilen kann bzw. bis der Divisor mindestens drei mal reinpasst, nehme den abgerundeten Quozienten als erste Stelle des Ergebnises, nehme den Rest und hänge die nächsten Stellen Dividenten dran, so dass ich auch dies wieder teilen kann usw. Ich muss also mit jeder einzelnen Ziffer arbeiten und dieser eine eigene Variable zuweisen; auch der Primzahlennummer (mit einem Roboter und viele Schleifen). Demnach ist eine Division wohl immer ein Produkt aus Multiplikation (Addition) und Subtraktion. Mit Faktorzerlegung arbeite ich lieber nicht, da das bei grossen Zahlen relativ lange dauert. Das Prinzip des Programmes ist mir wenigstens auch schon mal klar: ich nehme eine Zahl und schaue, ob diese durch eine kleinere Primzahl (3, 5, 7, 11) teilbar ist (bis zur Quadratwurzel), und speichere (falls das dann eine Primzahl ist) diese dann in einer sequentiellen Datei unter einer Variablen ab. Danach nehme ich die Zahl und addiere zwei dazu... Ich habe hier schon mal ein gutes Programm geschrieben, allerdings funktioniert das noch mit MOD und teilt die Zahl durch jede ungerade Zahl bis zur Wurzel, falls sie vorher nicht teilbar ist. Ist jedenfalls recht schnell; im Gegensatz zum Primzahlensieb, Additionsmethode etc.

zahl = 3: teiler = 3
DO
'wenn prim
IF SQR (zahl) < teiler THEN PRINT zahl; : zahl = zahl + 2: teiler = 3
'wenn teilbar
IF zahl MOD teiler = 0 THEN zahl = zahl + 2: teiler = 1
IF zahl > 1000 THEN END
teiler = teiler + 2
LOOP

Bezug
                        
Bezug
Schriftliches Rechnen: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 15:21 Fr 16.03.2007
Autor: Ankh

Du musst nicht unbedingt den ganzen Divisor verwenden:
Angenommen, a und b sind beide m-stellig mit a>b.
Dann weißt du sicher, dass [mm] $[\bruch{a_1}{2b_1}] \le [/mm] c [mm] \le [\bruch{a_1}{b_1}]$. [/mm]
Je mehr Stellen du betrachtest, um so genauer kannst du c einschachteln. Unter Umständen musst du dann nicht alle Stellen berücksichtigen.
Der Fall a [mm] \not= [/mm] b lässt sich sicher analog meistern.

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Anwendungsprogramme"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.matheforum.net
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]