Treść zadania

~PaWo

1. Algorytm wyliczający symbol Newtona z pomocą trójkąta Pascala, ale w tablicy jednowymiarowej.
2. Algorytm sprawdzający czy liczba n należąca do N jest podzielna przez 3 - rekurencyjnie, czyli sprawdzamy czy suma cyfr liczby jest podzielna, a gdy dojdziemy już do liczby mniejszej od 10 to jesli 3 lub 9 to zwracamy true.
Wszystko w pseudokodzie

Zadanie jest zamknięte. Autor zadania wybrał już najlepsze rozwiązanie lub straciło ono ważność.

Rozwiązania

  • antekL1

    W załączniku jest to samo, ale z wcięciami na początku linii;
    tutaj diabli je biorą.
    Aha, jeszcze: Ja zapomniałem, że to ma być wyliczenie symboli Newtona i skupiłem się na zrobieniu trójkąta Pascala.
    Aby z tego zrobić procedurę newton(n,k) trzeba n-krotnie wywołać :

    dla i od 1 do n wykonaj pascal(i, t);

    i zwrócić t[k]

    1.
    // Deklarujemy maksymalne N i tablicę t liczb całkowitych o wymiarze N
    // parametr t przekazujemy tak, aby zmiany były widoczne na zewnątrz procedury
    // n jest numerem wiersza w trójkącie Pascala
    // Procedura zakłada, że poprzednie n - 1 wierszy zostało już stworzone
    // i w tablicy t jest n - 1 wiersz, np. dla n = 5 tablica zawiera [1,4,6,4,1]

    Procedura pascal(całkowite n, tablica liczb całkowitych t)
    // Deklarujemy całkowite zmienne k, pom, używane poniżej

    początek_procedury

    Jeżeli (n < 1 ) lub (n > N) to napisz('dupa'); wyjdź z procedury;
    Jeżeli n = 1 to t[1] = 1 ; wyjdź z procedury
    Jeżeli n = 2 to t[1] = 1 ; t[2] = 1 ; wyjdź z procedury
    Jeżeli n = 3 to t[1] = 1 ; t[2] = 2 ; t[3] = 1 ; wyjdź z procedury

    // teraz się zabawiamy, zaczynając od 4-go wiersza.
    // Pierwszy element t[1] zostawiamy bez zmian a następne przesuwamy o 1 pole
    // ( zaczynając od końca ! ) To będzie tablica do dalszych operacji.

    k = n - 1; // ilość dotychczas wypełnionych pól tablicy

    podczas_gdy k > 1 powtarzaj
    {
    t[k+1] = t[k] ; // Przepisujemy elementy t od końca, nie tracąc ich.
    k = k - 1 ;
    }
    // Ustawiamy warunki startowe:
    k = 2; pom = t[2]; // patrz dalej

    podczas_gdy k < n powtarzaj
    {
    // "pom" było równe t[k] z poprzedniej pętli. Sumujemy element k i k+1 tablicy
    t[k] = pom + t[k+1];
    pom = t[k+1]; // i zapamiętujemy element, który będzie zmieniany w kolejnej pętli
    k = k + 1; // teraz widać, że pom za chwile będzie znaczyć t[k]
    }
    koniec_procedury
    ===================================

    2.
    Funkcja sprawdz3(całkowite n) - zwraca wynik true / false
    // deklarujemy całkowite zmienne k, suma
    początek_funkcji
    Jeżeli n < 1 to napisz('dupa'); wyjdź z procedury;

    k = n; // przepisujemy parametr, aby dać warunek startu. Potem k się zmieni

    podczas_gdy prawda (czyli aż się przerwie) powtarzaj
    {
    suma = 0; // to będzie suma cyfr
    podczas_gdy k > 0 powtarzaj
    {
    suma = suma + k modulo 10; // Dodaj ostatnią cyfrę liczby
    k = k div 10; // Podziel liczbę przez 10 aby pozbyć się ostatniej cyfry.
    // div to dzielenie liczb całkowitych, wynik całkowity.
    }
    Jeżeli suma < 10 to przerwij_pętlę;
    // A jak nie to dalej w kółko:
    k = suma; // liczba będąca sumą cyfr do kolejnej obróbki, jeśli k >= 10.
    }
    // Jesteśmy to to znaczy, że suma cyfr jest < 10.
    Jeżeli suma modulo 3 = 0 to zwróć true, w przeciwnym razie zwróć false.

    koniec_funkcji
    ===================================

    Załączniki

Podobne materiały

Przydatność 70% Algorytm huffmana

algorytm huffmana rozpisany dokladnie krok po kroku na przykladzie 6 liter sa rydunki drzew wszystko dokladnie ;)

Przydatność 75% Pierwsza zasada dynamiki Newtona

Jeżeli na ciało nie działa żadna siła, lub działające siły równoważą się, to ciało pozostaje w spoczynku lub porusza się ruchem jednostajnym po linii prostej.

Przydatność 60% Druga zasada dynamiki Newtona

Jeżeli na ciało działa niezrównoważona siła (różna od zera), to ciało porusza się ruchem zmiennym i przyspieszenie w tym ruchu jest wprostproporcjonalne do działającej siły a odwrotnie proporcjonale do masy.

Przydatność 80% 3 zasady dynamiki Newtona

I zasada dynamiki Newtona
Jeżeli na ciało nie działa żadna siła lub siły działającwe równoważą sie to ciało to pozostaje w spoczynku lub porusza się ruchem jednostajnym prostoliniowym
II zasada
Jeżeli na ciało działa siła niezrównoważona to ciało to porusza się ruchem zmiennym wartość przyspieszenia w tym ruchu jest wprost proporcjonalna do masy ciała i do...

Przydatność 55% Zasady dynamiki Newtona

I zasada dynamiki Newtona (bezwładności). spoczynek ciała lub ruch jednostajny prostoliniowy Jeżeli na ciało nie działa żadna siła lub działające siły wzajemnie się równoważą (wypadkowa tych sił = 0), to ciało albo pozostaje w spoczynku, albo porusza się ruchem jednostajnym prostoliniowym. II zasada dynamiki Newtona. ruch zmiennie zmienny, a jeżeli Fwyp = const....

0 odpowiada - 0 ogląda - 1 rozwiązań

Dodaj zadanie

Zobacz więcej opcji