1. Grundlegende Funktionen

Primzahltest

PrimeQ[13]

PrimeQ[1001]

Polynome faktorisieren

Factor[x^2 - 1]

Zahlen faktorisieren

FactorInteger[1001]

FactorInteger[22222222222222222222222222223]

Achtung: PrimeQ und FactorInteger funktionieren garantierterweise nur für kleine Zahlen, PrimeQ bis 10^16, FactorInteger bis kleinster Faktor 10^12. Für größere Zahlen kann man Zusatzpakete laden, siehe Punkt 2. Ein negatives Ergebnis von PrimeQ ist immer korrekt und es ist keine Zahl mit falschem Testergebnis bekannt.

n-te Primzahl

Prime[6]

Table[Prime[k], {k, 1, 100}]

Eine Liste erzeugen und plotten

ListPlot[Table[Prime[k], {k, 2, 20}]]

Ein Produkt über Primzahlen / als Dezimalzahl

Product[(Prime[k]^2 + 1)/(Prime[k]^2 - 1), {k, 1, 
        10^2}]

N[%]

Teiler / Teilersumme

Divisors[12]

?DivisorSigma

DivisorSigma[1, 12]

Reste

Mod[17, 3]

Rechnen in den ganzen Zahlen mit i

Divisors[6, GaussianIntegers -> True]

PrimeQ[2, GaussianIntegers -> True]

2. Packages mit Zusatzfunktionen laden

<< NumberTheory`NumberTheoryFunctions`

NextPrime[24]

PrimePowerQ[2187]

<< NumberTheory`PrimeQ`

ProvablePrimeQ[2^(2^5) + 1]

3. Graphik

Eine Liste plotten

ListPlot[Table[Prime[k], {k, 2, 20}]]

Mehrere Funktionen kontinuierlich in Farbe plotten

Plot[{PrimePi[n], n}, {n, 2, 10^2}, AspectRatio -> 1, 
      PlotStyle -> {{Hue[0.4]}, {Hue[0.8]}}]

Density Plot

ex[n_] := 
      ListDensityPlot[
        Table[If[SquareFreeQ[n*x + y], 1, 0], {x, 0, n - 1}, {y, 0, 
            n - 1}]]

ex[10^2]

MatrixPlot

<< LinearAlgebra`MatrixManipulation`

MatrixPlot[IdentityMatrix[50], 0]

Pascalsches Dreieck

Table[Binomial[n, k], {n, 1, 10}, {k, 1, 10}] // MatrixForm

Pascalsches Dreieck modulo 2 (also nur gerade und ungerade Einträge unterschieden)

MatrixPlot[Table[Mod[Binomial[n, k], 2], {n, 1, 100}, {k, 1, 100}], 
      0]

4. Hinweise zu den Beispielen

1. Chinesische Primzahlen

Do[If[IntegerQ[(2^n - 2)/n] && Not[PrimeQ[n]], Print[n]], {n, 1, 
        10}]

2. Primzahlsatz

Plot[{PrimePi[n], n}, {n, 2, 10}, AspectRatio -> 1, 
      PlotStyle -> {{Hue[0.8]}, {Hue[0.4]}}]

3/4. Vollkommene/befreundete Zahlen

Divisors[12]

DivisorSigma[1, 12]

freund[n_] := freund[k] = DivisorSigma[1, n] - n

freund[10]

freund[6]

5. Summe von zwei Quadraten

Sort[Flatten[Table[a^2 + b^2, {a, 0, 10}, {b, a, 10}]]]

Select[%, PrimeQ]

6. Polynom n^2+n+p

Table[k^2 + k + 11, {k, 0, 5}]

7. Quader mit ganzzahligen Seiten und Flächendiagonalen

Hier zunächst für ganzzahlige Raumdiagonale, die logische Verknüpfung UND hat das Symbol "&&" .

If[PrimeQ[7] && IntegerQ[Pi], Print["Richtig"], 
      Print["Falsch"]]

Do[If[IntegerQ[Sqrt[a^2 + b^2 + c^2]], 
        Print["(a,b,c) = (", a, ",", b, ",", c, ")"]], {a, 1, 
        10}, {b, a, 10}, {c, b, 10}]

8. Summe von vier Quadraten (Lagrange)

Siehe Beispiel 5.

9. Summen und Produkte erraten

Product[(Prime[k]^2 + 1)/(Prime[k]^2 - 1), {k, 1, 
        10^2}]

N[%]

10. Teilbarkeit von Fibonaccizahlen

?Fibonacci

Fibonacci[0]

Table[Fibonacci[n], {n, 0, 20}]

IntegerQ[Fibonacci[10]/2]

11. Fermatsche und Mersennesche (Prim-)Zahlen

F[n_] := 2^(2^n) + 1

12. Gerade und ungerade Binomialkoeffizienten

<< LinearAlgebra`MatrixManipulation`

Binomial[10, 5]

Mod[Binomial[10, 5], 2]

Table[Binomial[n, k], {n, 1, 10}, {k, 1, 10}] // MatrixForm

MatrixPlot[Table[Mod[Binomial[n, k], 2], {n, 1, 100}, {k, 1, 100}], 
      0]