[Maxima] wypisać w tablicy liczby podzielne przez 6

Mathematica, Matlab, Statistica, LaTeX i wszelkiego rodzaju oprogramowanie przydatne matematykowi w pracy. Miejsca w sieci poświęcone zagadnieniu.
lolo666
Użytkownik
Użytkownik
Posty: 153
Rejestracja: 22 wrz 2017, o 20:28
Płeć: Mężczyzna
Lokalizacja: City

[Maxima] wypisać w tablicy liczby podzielne przez 6

Post autor: lolo666 »

Mam za zadanie wypisać liczby podzielne przez 6 w przedziale \(\displaystyle{ \left( -100; 100\right)}\).
Miałem styczność z programowaniem i w zadaniach tego typu wystarczyła instrukcja warunkowa typu

Kod: Zaznacz cały

if i%6==0{ rób coś }
Nie wiem jak to wygląda w Maximie, zrobiłem coś takiego, bo nie mam pomysłu jak to ugryźć:

Kod: Zaznacz cały

lista:makelist(i+4,i,-100,100,6);
wykonać wykonuje, ale wiem, że nie o to chodziło w tym zadaniu. Jeśli można prosić o pomoc, byłbym wdzięczny.
szw1710

Re: [Maxima] wypisać w tablicy liczby podzielne przez 6

Post autor: szw1710 »

Merytorycznie to przecież dobrze działa z dokładnością do ostatniej liczby \(\displaystyle{ 102}\), która nie leży w podanym zakresie. A może tak?

Kod: Zaznacz cały

for i:-96 thru 96 step 6 do print(i)$
lolo666
Użytkownik
Użytkownik
Posty: 153
Rejestracja: 22 wrz 2017, o 20:28
Płeć: Mężczyzna
Lokalizacja: City

[Maxima] wypisać w tablicy liczby podzielne przez 6

Post autor: lolo666 »

Też jest dobrze, z tym że chciałbym to zrobić tak, że program sprawdza czy każda liczba spełnia warunek tzn. czy jest podzielna przez \(\displaystyle{ 6}\). Bo przy większych przedziałach np. \(\displaystyle{ \left\langle -10000, 100000 \right\rangle}\) nie chce mi się sprawdzać jaka liczba blisko krańców tego przedziału jest podzielna przez 6, tylko chcę aby to zrobił program, mówię mu: "Wypisz mi liczby z przedziału \(\displaystyle{ I}\), takie że są podzielne przez liczbę \(\displaystyle{ n}\)". Można tak zrobić w Maximie. Programując w Pythonie zadanie jest łatwe i zrobiłbym to tak:

Kod: Zaznacz cały

tab=[]
a=-1000
while a<=1000:
    if a%6==0:
        tab.append(a)
    a+=1

print(tab)
I chcę wiedzieć jak to zrobić(o ile można) w Maximie. Byłbym wdzięczny za pomoc.
a4karo
Użytkownik
Użytkownik
Posty: 22207
Rejestracja: 15 maja 2011, o 20:55
Płeć: Mężczyzna
Lokalizacja: Bydgoszcz
Podziękował: 38 razy
Pomógł: 3754 razy

Re: [Maxima] wypisać w tablicy liczby podzielne przez 6

Post autor: a4karo »

To jak ci się nie chce sprawdzać, to licz od zera. \(\displaystyle{ n}\) jest podzielne przez \(\displaystyle{ 6}\) wtedy i tylko wtedy, gdy \(\displaystyle{ -n}\) jest.
szw1710

Re: [Maxima] wypisać w tablicy liczby podzielne przez 6

Post autor: szw1710 »

Sprawdzanie wszystkich liczb jest wysoce nieoptymalne. Szukamy pierwszej i ostatniej podzielnej przez \(\displaystyle{ 6}\) i mamy zakres będąc już w stanie wygenerować ciąg arytmetyczny.
ODPOWIEDZ