Aufgabe 1
> a := n-> (10^n -1)/9;
> a(3);
> for n from 2 to 400 do if isprime(a(n)) then print(n) fi; od;
Aufgabe 2
> surface := [ R*cos(a) + r*cos(b)*cos(a),R*sin(a) + r*cos(b)*sin(a), r*sin(b)];
> m:='m':n:='n':
> kurve:=subs(a=m*t,b=n*t,surface);
> fcurve := unapply(kurve,R,r,m,n);
> with(plots):
> tubeplot(fcurve(2,1,3,5),t=0..2*Pi, radius=0.2,numpoints=150);
> tubeplot(fcurve(2,1,2,1),t=0..2*Pi, radius=0.3,numpoints=150);
Aufgabe 3
>
haflo:=proc(p)
local a,i,h,n,j;
# computes frequencies of digits of floating point number p
a:=op(1,convert(p,list));
n:=0;
h:=table(sparse);
while evalb(a <> 0) do
i:= a mod 10; a := trunc(a/10);
h[i]:=h[i]+1; n:=n+1;
od;
for j from 0 to 9 do
lprint(`j= `,j,`frequency= `, round(100*h[j]/n));
od;
end:
> haflo(3.14);
j= 0 frequency= 0
j= 1 frequency= 33
j= 2 frequency= 0
j= 3 frequency= 33
j= 4 frequency= 33
j= 5 frequency= 0
j= 6 frequency= 0
j= 7 frequency= 0
j= 8 frequency= 0
j= 9 frequency= 0
> haflo(evalf(Pi,1000));
j= 0 frequency= 9
j= 1 frequency= 12
j= 2 frequency= 10
j= 3 frequency= 10
j= 4 frequency= 9
j= 5 frequency= 10
j= 6 frequency= 9
j= 7 frequency= 10
j= 8 frequency= 10
j= 9 frequency= 11
Aufgabe 4
> Digits :=50: digits := Digits:i='i':
> i='i': k='k':
> for k from 1 to 8 do xi[k] := evalf(sum(16^(-i)* (8*i +k)^(-2),i=0..infinity)) od;
>
>
for k from 1 to 8 do v[k] := [];
for j from 1 to 10 do v[k] := [op(v[k]),0] od;
v[k][k] := 1;
v[k][10] := trunc(10^digits * xi[k]); od:
> v[9] := [0,0,0,0,0,0,0,0,1,trunc(evalf(Pi^2*10^digits,digits+1))]:
> L :=[]:
> for k from 1 to 9 do L :=[op(L),v[k]] od:
> array(1..9,1..10,L);
>
### WARNING: persistent store makes one-argument readlib obsolete
readlib(lattice):
> array(1..9,1..10,lattice(L));
Verifikation
> for k from 1 to 8 do sxi[k] := sum(16^(-i)* (8*i +k)^(-2),i=0..infinity) od:
> res:= -16*sxi[1]+16*sxi[2]+8*sxi[3]+16*sxi[4]+4*sxi[5]+4*sxi[6]-2*sxi[7] + Pi^2:
> simplify(res,hypergeom);
> evalf(res);
>