##### # 1 - HARMONIE ##### coma1 := proc(g) local g0,s,i: g0 := evalf(g,100); s := 0; i := 1; while(true) do s := s + evalf(1/i,100); if(s > g0) then return i; fi; i := i + 1; od; end proc: ##### # 2 - GEMENE VEELVOUDEN ##### # Maple heeft geen commando "prime-range" # (zoals SAGE) dus we halen wat truukjes uit. # Naleve methode werkt ook maar duurt vele minuten. P := proc(n) if n=0 then return(1); else return(ithprime(n)); fi; end proc: coma2_vind := proc(m,a) local r,s,b; r := 1; s := 1; #print("1+"); while(P(s)^a < m) do s := s + 2^r; #print("+",2^r,s); r := r+1; #print(s,r); od; while(r>0) do r := r-1; if( P(s)^a > m) then s:=s-2^r; else s:=s+2^r;fi; od; if( P(s)^a <= m) then s:=s+1;fi; return (s); end proc: coma2 := proc(m) local s,R,Q; s := ceil(log[2](m))+1; R := [seq( coma2_vind((m,s-i)) , i=0..(s-1))]; return add(i, i in [seq( (R[i+1]-R[i])*(s-i), i=1..nops(R)-1)]); end proc: ##### # 3 - IS ER MEER TE ZIEN DAN BLABLA ##### coma3 := proc(n): return combinat[fibonacci](modp(n-1,46))-1 mod 139; end proc: # alternatief coma3b := proc(m,n) local sqrt5,phi,a,b; sqrt5 := numtheory[msqrt](5,m); phi := (1+sqrt5)/2 mod m; a := Power(phi-1,n+1) mod m; b := Power(-phi,n+1) mod m; return ((a*(1+phi) - b*(2-phi))/sqrt5 - 1) mod m; end proc: ##### # 4 - SCHEVE TOREN ##### coma4 := proc(k): return floor(10^(4+frac(evalf(k^k*log[10](k),100)))); end proc: ##### # 5 - PUNTEN TELLEN ##### coma5_tel_punten := proc(p) local n,x,y; n := 0; for x from 0 to p-1 do for y from 0 to p-1 do if (7*x^3 - 5*x + 2 - 2*y^2 mod p = 0) then n := n+1; fi; od;od; return n; end proc: coma5 := proc(B) local p,L: L := []; for p in [$1..B] do if not isprime(p) then next; fi; if (coma5_tel_punten(p) = p) then L := [op(L),p]; fi; od; return L; end proc: ##### # 6 - SPOORZOEKEN ##### coma6 := proc(g ) local S,i; # (enkel voor g%2 == 0) S := 0; for i from 1 to g do S := S + evalf(1/i,100); od; return evalf(1+S/g,10); end proc: coma1(4*Pi); coma2(2^22); coma3(5040302010); coma4(49); coma5(100); coma6(2010);