Skip to content
Narrow screen resolution Wide screen resolution Auto adjust screen size Increase font size Decrease font size Default font size default color grey color
         
 | 
VNOI - Olympic tin học Việt Nam

Điểm tin VOJ

Số thành viên:6040
Số bài tập:1001
Số bài nộp:722923
Bài nộp hôm nay:0

Top 10 thành viên xuất sắc

HạngThành viênĐiểm
1mr_invincible587.9
2white_cobra418.6
3hieult403.4
4phaleq384.0
5vodanh9x368.2
6con_nha_ngheo352.0
7flash_mt350.2
8darksabers349.8
9yenthanh132345.3
10rockman9x_94343.1

Danh tiếng các thành viên

HạngThành viênĐiểm
1mr_invincible+213
2conankudo+149
3khuc_tuan+137
4tuananhnb93+129
5khanhptnk+108
6hphong+103
7flash_mt+99
8paulmcvn+71
9technolt+70
10hoangle+63

Topcoder Vietnam

HạngThành viênĐiểm
Diễn đàn
Forum
Trả lời: Chương Trình Hữu ích, thực tiễn (1 đang xem) ,(1) Khách
Bài viết dưới cùng Gửi trả lời Được ưa thích: 0
CHỦ ĐỀ - Trả lời: Chương Trình Hữu ích, thực tiễn
#56115
thai9cdb (Thành viên)
thai9cdb
Đã biết code đệ quy
Bài viết: 7
graphgraph
Thành viên gián tuyến Click vào đây để xem thông tin về thành viên này
Chương Trình Hữu ích, thực tiễn 9 năm, 2 tháng trước   (+0)
Xin chào mọi người, em năm nay mới được học lập trình, vưa viết được chương trình có tính ứng dung cao, đó là chương trình nhập vào 2 số nguyên dương a và b (a,b có thể rất rất lớn, a,b<10^101), in ra tích a và b. em vội đưa lên để mọi người nhận xét và góp ý cho em. Cảm ơn nhiều.


program phep_nhan;
uses crt;
var t:array[1..200]of array[1..200]of byte;
k,l,nho:byte;
i,j:word;
s:longint;
ha,hb,kq: array[1..200]of byte;
a,b,tr: string;
{================================}
procedure reset;
begin
for i:=1 to 200 do begin
ha[i]:=0; hb[i]:=0;kq[i]:=0;
for j:=1 to 200 do t[i][j]:=0;
end;
end;
{================================}
procedure xuli;
begin
for i:=k downto 1 do case a[i] of
'0': ha[k-i+1]:=0;
'1': ha[k-i+1]:=1;
'2': ha[k-i+1]:=2;
'3': ha[k-i+1]:=3;
'4': ha[k-i+1]:=4;
'5': ha[k-i+1]:=5;
'6': ha[k-i+1]:=6;
'7': ha[k-i+1]:=7;
'8': ha[k-i+1]:=8;
'9': ha[k-i+1]:=9;
end;
for i:=l downto 1 do case b[i] of
'0': hb[l-i+1]:=0;
'1': hb[l-i+1]:=1;
'2': hb[l-i+1]:=2;
'3': hb[l-i+1]:=3;
'4': hb[l-i+1]:=4;
'5': hb[l-i+1]:=5;
'6': hb[l-i+1]:=6;
'7': hb[l-i+1]:=7;
'8': hb[l-i+1]:=8;
'9': hb[l-i+1]:=9;
end;
end;
{===============================}
procedure nhan;
begin
for j:=1 to l do begin
nho:=0;
for i:=1 to k do begin
t[j][i+j-1]:=(ha[i]*hb[j]+nho)mod 10;
nho:=(ha[i]*hb[j]+nho)div 10;
end;
t[j][k+j]:=nho;
end;
end;
{=============================}
procedure cong;
begin
nho:=0;
for i:=1 to k+l do begin
s:=0;
for j:=1 to l do s:=s+t[j][i];
kq[i]:=(s+nho) mod 10;
nho:=(s+nho) div 10;
end;
end;
{==============================}
begin clrscr;
readln(a); readln(b);
if length(a)<length(b) then begin tr:=a;a:=b;b:=tr; end;
reset;
k:=length(a); l:=length(b);
xuli;
nhan;
cong;
if kq[k+l]<>0 then write(kq[k+l]);
for i:=l+k-1 downto 1 do write(kq[i]); writeln;
readln
end.
 
Đã lưu IP Đã lưu IP  
 
PiTaGo
  Đã khóa chức năng gửi bài.
#56116
xuanan_nd (Thành viên)
xuanan_nd+9
Nhắm mắt code không bug
Bài viết: 156
graphgraph
Thành viên gián tuyến Click vào đây để xem thông tin về thành viên này
Trả lời: Chương Trình Hữu ích, thực tiễn 9 năm, 2 tháng trước   (+0)
Mình tính được đến 10^1000 thì bạn nghĩ sao?
 
Đã lưu IP Đã lưu IP  
  Đã khóa chức năng gửi bài.
#56118
iamquang95 (Thành viên)
Nhắm mắt code không bug
Bài viết: 295
graphgraph
Thành viên gián tuyến Click vào đây để xem thông tin về thành viên này
Trả lời: Chương Trình Hữu ích, thực tiễn 9 năm, 2 tháng trước   (+0)
Mình có thể in ra to hơn bạn
Bạn nghĩ sao =)
(Bắt chước anh xuanan_nd :"3 )
Đây chỉ là thuật toán BigNum cơ bản thôi mà =-=
 
Đã lưu IP Đã lưu IP  
  Đã khóa chức năng gửi bài.
#56120
thai9cdb (Thành viên)
thai9cdb
Đã biết code đệ quy
Bài viết: 7
graphgraph
Thành viên gián tuyến Click vào đây để xem thông tin về thành viên này
Trả lời: Chương Trình Hữu ích, thực tiễn 9 năm, 2 tháng trước   (+0)
đây mình chạy trên tubol thôi, free thì lờn hơn nhiều.
Chỉ cần thay đổi giới hạn cho mảng ha,hb,kq và mảng hai chiều t. mình mới làm quen với lập trình thôi.
 
Đã lưu IP Đã lưu IP  
 
PiTaGo
  Đã khóa chức năng gửi bài.
#56121
xuanan_nd (Thành viên)
xuanan_nd+9
Nhắm mắt code không bug
Bài viết: 156
graphgraph
Thành viên gián tuyến Click vào đây để xem thông tin về thành viên này
Trả lời: Chương Trình Hữu ích, thực tiễn 9 năm, 2 tháng trước   (+0)
thai9cdb viết:
QUOTE:
đây mình chạy trên tubol thôi, free thì lờn hơn nhiều.
Chỉ cần thay đổi giới hạn cho mảng ha,hb,kq và mảng hai chiều t. mình mới làm quen với lập trình thôi.:D


Mình đùa vậy thôi, bạn có thể chia nhóm số để tính được nhiều hơn. Thuật toán nhân cũng khá đơn giản, bạn có thể tham khảo ở đây: BIGNUM ( cách chia nhóm số )

hoặc ở đây: Số nguyên lớn trên Pascal
 
Đã lưu IP Đã lưu IP  
  Đã khóa chức năng gửi bài.
#56227
startbkhn (Thành viên)
Đã biết code đệ quy
Bài viết: 14
graphgraph
Thành viên gián tuyến Click vào đây để xem thông tin về thành viên này
Trả lời: Chương Trình Hữu ích, thực tiễn 9 năm, 2 tháng trước   (-1)
Có cấp phát động cái mảng kia không? Để chương trình của bạn tối ưu hơn
 
Đã lưu IP Đã lưu IP  
  Đã khóa chức năng gửi bài.
#56896
pooh (Thành viên)
pooh-
Super fast coder
Bài viết: 55
graphgraph
Thành viên gián tuyến Click vào đây để xem thông tin về thành viên này
Trả lời: Chương Trình Hữu ích, thực tiễn 9 năm, 2 tháng trước   (+0)
Theo mình thì Cộng mảng nhanh hơn chuỗi còn các bạn nghĩ sao ?
 
Đã lưu IP Đã lưu IP  
  Đã khóa chức năng gửi bài.
#56908
acer (Thành viên)
acer_-
Nhắm mắt code không bug
Bài viết: 123
graphgraph
Thành viên gián tuyến Click vào đây để xem thông tin về thành viên này
Trả lời: Chương Trình Hữu ích, thực tiễn 9 năm, 2 tháng trước   (+0)
cộng mảng luôn nhanh hơn chuỗi
 
Đã lưu IP Đã lưu IP  
 
Kết bạn bốn phương!!!
  Đã khóa chức năng gửi bài.
#56932
LIKIA (Thành viên)
silver_arrow+12
Đã code là AC
Bài viết: 90
graphgraph
Thành viên gián tuyến Click vào đây để xem thông tin về thành viên này
Trả lời: Chương Trình Hữu ích, thực tiễn 9 năm, 2 tháng trước   (+0)
pooh viết:
QUOTE:
Theo mình thì Cộng mảng nhanh hơn chuỗi còn các bạn nghĩ sao ?


Bạn ấy cộng mảng mà, đọc chuỗi, đổi chuỗi ra mảng byte rồi cộng.
 
Đã lưu IP Đã lưu IP  
 
  Đã khóa chức năng gửi bài.
Bài viết trên cùng Gửi trả lời
Powered by FireBoardBài viết mới nhất từ diễn đàn cho các chương trình nhận tin RSS