You are here
Возведение в степень и деление по модулю (в полях Галуа), поиск НОД, разложение на множители (SRP-325G)
Для Citizen SRP-325G. Сейчас этого калькулятора у меня уже нет, но программы от него остались и может быть кому-либо окажуться полезны.
-----------------------------------------------------------------------------------------
Возведение в степень по модулю
-----------------------------------------------------------------------------------------
PROGRAM (D=A^BmodC)
Program type – MAIN
PRINT “A^B%C”;SLEEP(2) INPUT A,B,C D=1 FOR(E=B/2;E≥.5;E=E/2){IF(Frac(E)>0)THEN{D=DA-INT(DA/C)C} A=A2-INT(A2/C)C;E=INT(E)} PRINT D END
----------------------------------------------------------------------------------------
Деление по модулю
-----------------------------------------------------------------------------------------
PROGRAM (D=(A/B)modC)
Program type – MAIN
PRINT “A/B%C”;SLEEP(2) INPUT A,B,C D=1;E=0;G=C;J=B FOR(I=0;J>0;I++){H=Int(B/G);J=B-HG IF(I≠0)THEN{F=DH+E;E=D;D=F} B=G;G=J} IF(Frac(I/2)≠0)THEN{E=C-E} D=AE-Int(AE/C)C PRINT D,” NOD=”,B END
Примечание: Результат деления имеет смысл, если НОД = 1.
----------------------------------------------------------------------------------------
Поиск наибольшего общего делителя
-----------------------------------------------------------------------------------------
PROGRAM НОД(A,B)
Program type – MAIN
PRINT ”NOD(A,B)”;SLEEP(2) INPUT A,B FOR(C=A;C>0;C=A-INT(A/B)B){A=B;B=C} PRINT “B” END
---------------------------------------------------------------------------------------
Разложение на множители перебором
---------------------------------------------------------------------------------------
PROGRAM FACTORISATION
Program type – MAIN
PRINT ”FACT A”;SLEEP(1) INPUT A C=sqrt(A);D=0 FOR(B=2;B<=C;B++){IF(Frac(A/B)==0)THEN{A=A/B PRINT B;SLEEP(2) E[D]=B;D++;B--}} PRINT A;E[D]=A END
---------------------------------------------------------------------------------------
Все эти программы одновременно помещаются в память SRP-325G
- basvic's blog
- Log in or register to post comments
- 6097 reads