Thuật toán tính mũ và tính nghịch đảo Pascal

Tính ax mod n
HuanBuiThanh

 

Bài toán này nếu giải tay thì nhanh thôi các bạn, nhưng mà mất công học code thì phải làm cho ra trò nên thôi nay ngồi gõ lại cho các bạn học khóa sau tham khảo. 

    

program huan_code;

uses crt;
var m:array[1..20] of byte;
var dem,a,z,i,j,x,n: integer;
procedure nhap();
begin
    writeln('Chuong trinh tinh a^z mod n  '); 
    write('Nhap he so A: '); readln(a);
    write('Nhap he so Z: '); readln(z);
    write('Nhap he so N: '); readln(n);
end;
function do_dai(n:integer): integer;
  begin
       i   := 1;
       dem := 0;
       Repeat
       m[i]:=n mod 2;
       n := n div 2;
       i := i+1;
       Until(n=0);
   For j:=i-1 downto 1 do 
   begin
       dem := dem+1;
   end;
  do_dai := dem;
  end;
procedure hien_bit();
begin
    writeln('Do dai chuoi bit la : ',do_dai(z));
    write('Bieu dien ',z,' thanh day bit: ');
    For j:=i-1 downto 1 do
    write(m[j]);
    writeln;
    end;
procedure tinh();
begin
    x := 1;
    for j:= (do_dai(z)) downto 1 do 
   begin
       x := (x*x) mod n;
       if (m[j]=1) then x:=(x*a) mod n;
       writeln('i =',j-1,' b(i) = ',m[j] ,' : x = ',x);
   end;
   writeln('Ket qua ',a,'^',z,' mod ',n,' = ',x);
end;
begin
    nhap();
    hien_bit();
    tinh();
    readln;
end.

Getting Info...

Đăng nhận xét

Cảm ơn bạn đã quan tâm và gửi nhận xét tại
http://huanbuithanh.blogspot.com
hãy ghé thăm blog hàng ngày để được cập nhật những thủ thuật mới nhất nhé . thân ái !
Cookie Consent
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.
Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Site is Blocked
Sorry! This site is not available in your country.