[ram2c] Silnia modulo

MaksMatematyk
Użytkownik
Użytkownik
Posty: 1
Rejestracja: 30 gru 2014, o 21:46
Płeć: Mężczyzna
Lokalizacja: Oborniki Śląskie

[ram2c] Silnia modulo

Post autor: MaksMatematyk »

Witam,
Polecenie brzmi "Napisz program, który policzy resztę z dzielenia liczby n! przez k". Program, w którym piszę nie obsługuje komendy MOD. Kiedy zamieszczam rozwiązanie wyświetla się napis "time limit exceeded", co według mnie znaczy, że wypisany program jest dobry lecz za długi, gdyż w innym przypadku system wyświetlał "wrong answer". Poniżej zamieszczam program, który dla mnie jest najkrótszy, jeżeli ktoś ma pomysł, jak to rozwiązać, prosiłbym o szybką odpowiedź.
Pozdrawiam

Kod: Zaznacz cały

read 1
load 1
store 2
[RTY] sub =1
jzero [QWE]
store 1
mult 2
store 2
load 1
jump [RTY]
[QWE] load 2
store 1
read 2
div 2
mult 2
store 3
load 1
sub 3
write 0
halt
Ostatnio zmieniony 30 gru 2014, o 22:44 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Awatar użytkownika
Medea 2
Użytkownik
Użytkownik
Posty: 2491
Rejestracja: 30 lis 2014, o 11:03
Płeć: Kobieta
Podziękował: 23 razy
Pomógł: 479 razy

[ram2c] Silnia modulo

Post autor: Medea 2 »

Tu nie chodzi o długość programu, ale jego czas działania. Ram2c kojarzy mi się tylko z izraelską obroną, ale ja w czystym C zrobiłabym to tak: jeśli \(\displaystyle{ k}\) jest małe, to wystarczy stablicować wcześniej wyniki. Jeśli wieksze - rozłożyć na czynniki i z tym kombinować, a najprościej to napisać własną funkcję mod
ODPOWIEDZ