//
you're reading...
00 - Chủ đề chung

Tính một vài giá trị nguyên thường dùng

CONST
nmax = 101;
base = trunc(1e7);
Maxpt = 20;
TYPE
ArrBigNum = record
sl: longint;
h: array[1..Maxpt] of longint;
end;
VAR
n, i : longint;
s: string;
res: array [0..9] of ArrBigNum;
F: array[0..nmax, 0..nmax] of ArrBigNum;
a,b,c: ArrBigNum;
input, output: Text;

PROCEDURE XuatArrBigNum(a: ArrBigNum);
var i: byte;
begin
writeln(‘So da nhap co ‘,a.sl,’ doan.’);
for i:= a.sl downto 1 do
write(a.h[i]);
writeln;
end;
FUNCTION Max(a,b: longint): longint;
begin
if a>b then Max:=a else Max:= b;
end;

FUNCTION ArrAdd(a,b: ArrBigNum): ArrBigNum;
var
i, s, hold: longint;
c: ArrBigNum;
begin
c.sl:= max(a.sl, b.sl);
hold:= 0;
for i:= a.sl+1 to c.sl do a.h[i]:= 0;
for i:= b.sl+1 to c.sl do b.h[i]:= 0;
for i:= 1 to c.sl do
begin
s:=a.h[i]+b.h[i] + hold;
c.h[i]:= s mod base;
hold:= s div base;
if hold>0 then
begin
inc(c.sl);
c.h[c.sl]:= hold;
end;
end;
exit(c);
end;

FUNCTION ArrMul(a: ArrBigNum;b: longint): ArrBigNum;
var
i,s,hold: longint;
c: ArrBigNum;
begin
c.sl:= a.sl;
hold:= 0;
for i:=1 to c.sl do
begin
s:= a.h[i] * b + hold;
c.h[i]:= s mod base;
hold:= s div base;
end;
while hold>0 do
begin
inc(c.sl);
c.h[c.sl]:= hold mod base;
hold:= hold div base;
end;
exit(c);
end;
FUNCTION LuyThua(a, n: longint): ArrBigNum;
var
kq: ArrBigNum;
begin
kq.sl:= 1;
kq.h[1]:= 1;
for i:=1 to n do
kq:= ArrMul(kq,a);
LuyThua:= kq;
end;

BEGIN
XuatArrBigNum(LuyThua(2,8));
XuatArrBigNum(LuyThua(2,16));
XuatArrBigNum(LuyThua(2,32));
XuatArrBigNum(LuyThua(2,64));
readln;
END.

Advertisements

About pascalteacher

Trang thông tin Toán học và Tin học

Thảo luận

Không có bình luận

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

Các tác giả

Danh mục

Tháng Mười 2016
H B T N S B C
« Th9   Th11 »
 12
3456789
10111213141516
17181920212223
24252627282930
31  

NCT Computer

Flickr Photos

To See the Light

Keep calm and eat chips.

Macro Mondays - Chip(s)

More Photos

Thống kê

  • 135,678 lượt xem

pascalteacher.nct@gmail.com


Trang huấn luyện học sinh giỏi Tin học

%d bloggers like this: