Program Maxima

Policz sumę $\sum_{n=1}^{100}n^3$
Rozwiązanie
suma:0
for i:1 thru 100 do suma:suma+i^3
print(suma) ⇒ 25502500
Ukryj

Rozważmy prostokąty o bokach $a$ i $b$ będących liczbami nieparzystymi, spełniającymi warunek $a+b=100$. Jaka jest największa wartość pola tych prostokątów?

Rozwiązanie
M:0
for a:1 step 2 thru 100 do (pole:a*(100-a),M:max(M,pole))
print(M) ⇒ 2499
Ukryj

Ile składników szeregu geometrycznego $\sum_{i=1}^\infty\frac{1}{2^i}$ trzeba zsumować aby otrzymana suma częściowa była większa od $0,99999999$?

Rozwiązanie
suma:0
licznik:0
for i:1 while(suma<=0.99999999) do (suma:suma+1/2^i,licznik:licznik+1)
print(licznik) ⇒ 27
Ukryj

Napisz funkcję, która dla liczby $n$ zwraca ilość liczb pierwszych nie przekraczających $n$.

Rozwiązanie
primes(n):=block([p],p:0,for i:2 thru n do if primep(i) then p:p+1,return(p))
Dla kontroli:
primes(3) ⇒ 2
primes(10) ⇒ 4
primes(100) ⇒ 25
Ukryj

Napisz funkcję, która dla liczby $x$ zwraca odległość od najbliższej liczby całkowitej podzielnej przez 10.
Przydatne funkcje:

  • floor(x) zwraca przybliżenie całkowite liczby $x$ z dołu,
  • ceiling(x) zwraca przybliżenie całkowite liczby $x$ z góry,
  • abs(x) zwraca wartość bezwzględną liczby $x$,
  • mod(n,k) zwraca resztę z dzielenia liczby $n$ przez liczbę $k$
Rozwiązanie
near(x):=block([d],d:10,for i:floor(x)-10 thru ceiling(x)+10 do if mod(i,10)=0 then d:min(d,abs(i-x)),return(d))
Dla kontroli:
near(3.67) ⇒ 3.67
near(18.76) ⇒ 1.239999999999998
near(-5.67) ⇒ 4.33
Ukryj