1. Trang chủ
  2. » Luận Văn - Báo Cáo

Chuyên đề các phép tính với số lớn trong ngôn ngữ lập trình pascal10239

6 7 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 87,99 KB

Nội dung

Chuyên đề Các phép tính với số lớn NNLT Pascal ( VVSửu., GV Trường THPT chuyên HN-AMSTERDAM) I Đặt vấn đề Do hạn chế nhớ, nên phép toán cộng, trừ, nhân, chia NNLT pascal thực số nhỏ Trong lúc nhiều toán cần thực phép toán với hàng trăm, chí hàng ngàn chữ số Chúng ta sử dụng vài cấu trúc liệu xâu, mảng thuật toán đà học từ thời THCS để thực yêu cầu tính toán số lớn II Các toán Bài to¸n Céng sè lín Input: Cho S1, S2 số nguyên dương, số có số chữ số =b[i] then begin h[i]:=a[i]-b[i]; muon:=0;end Else Begin muon:=1; h[i]:=10+a[i]-b[i]; End; End; Bài So sánh số lớn Input: S1, S2 sè cã sè ch÷ sè =S2 DeThiMau.vn Prorcedure sosanh(X,Y: string; Var biger, equal, less: Boolean); Begin biger:=false; equal:=false; less:=false; nx:=length(X); ny:=length(Y); If X=Y then equal:=true Else if nx> ny then biger:=true Else if ny> nx then less:=true Else Begin i:=0; While (X[i+1]=Y[i+1]) and (iY[i] then Biger:=true Else less:=true; End; End; Begin{ Main} READLN (S1,S2); SOSANH(S,S2,big, eq,les); If les then begin tg:=S1; s1:=s2; s2:=tg; end; INKQ(S1, S2); End Bµi Nhân số lớn với số nguyên dương ( pv máy tính) Input : S - Xâu biểu diễn số lớn , n số nguyên dương Output: S.n BEGIN - NhËp S, nhËp n - DOI(S,a){ doi xâu số S thành mảng a[0],, a[n]) - NHAN(a,n,T) { nhân a với n cho mảng tích T} - GHIKQ(T); END PROCEDURE NHAN(a:mang; n:integer; Var T:mang); Var Begin Fillchar(T,sizeof(T),0); Nho:=0; Tg:=0; For i:=0 to 300 Begin Tg:=a[i]*n +nho; T[i]:= Tg mod 10; Nho:=tg div 10 End; End; DeThiMau.vn Bài Nhân số lớn Input: số S1, S2 Output S1.S2 Thuật toán: + Khai báo mảng c¸c byte: TG, KQ,a,b + DOI(S1,a); DOI(S2,b); + for i:=0 to 300 Begin Nhan(a, b[i],TG); For j:= to 300 CONG( TG, KQ, i); End; + INKQ; + cài đặt Procedure CONG(TG: mang; var KQ: mang; i: integer); Var nho, t: integer; Begin Nho:=0; t:=0; For j:=0 to 300 Begin t:=KQ[j+i]+TG[j]+nho; KQ[j+i]:= t mod 10; nho:= t div 10; End; End; III Các toán ứng dụng Bài Giai thừa Input : n nguyên dương n

Ngày đăng: 23/03/2022, 10:00

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w