PDA

View Full Version : Thuat giai bai toan cong hai so lon hon 50 chu so?



ma_kiem
25-04-2009, 20:23
cac ban giup minh voi:cai dat bang stack thuat toan cong 2 so nguyen ma moi so lon hon 50 chu so?
thank nhiu nhiu

Big Q
26-04-2009, 09:02
thế thì 2 số đó bạn ko thể lưu trữ bằng các kiểu dữ liệu thông thường đc, mà phải lưu vào mảng hoặc danh sách lk, còn khi lưu đc rồi thì cộng thế nào chắc đứa trẻ con lớp 1 cũng biết nhỉ

ma_kiem
26-04-2009, 19:18
minh chi biet la phai cai dat bang stack thui, con lap trinh nhu the nao thi minh van chua hieu. Mong ban chi them
Cam on ban nhiu nhiu

Big Q
27-04-2009, 21:48
Thì ý tưởng là mỗi phần tử trong stack chứa 1 hoặc nhiều chữ số trong cái số dài ngoằng ấy, nên để mỗi phần tử chứa 1 số chữ số cố định ko thì sẽ rất phức tạp. Còn cộng thì giống như mình làm phép tính cộng bình thường thôi, cộng lần lượt theo hàng dọc, từ phải sang, nếu + mà lớn hơn 10 thì lưu cả nhớ nữa. Bạn cứ tưởng tượng xếp cái stack ra hàng ngang thành 1 dãy số thì làm đc thôi, tất nhiên là phải biết các thao tác cơ bản về stack. Còn nếu ko biết cụ thể code thế nào thì bạn nên post trong các box của các ngôn ngữ cụ thể

ma_kiem
28-04-2009, 15:09
Ban co the cho minh hoi khi ma minh them phan tu vao stack, luc ma lay ra thi minh viet code lam sao de lay ra?Cam on ban truoc nhiu nhen

Big Q
28-04-2009, 19:25
Code cụ thể thì bạn phải hỏi ở 1 ngôn ngữ cụ thể chứ. Stack có 2 phép cơ bản là push (đẩy vào) và pop (lấy ra). Mình nghĩ khi nhập số vào stack thì nhập các số từ trái sang phải. Chẳng hạn bạn lưu số người dùng nhập vào ban đầu vào 1 xâu ký tự, xong lần lượt push các số từ bên trái sang vào stack, khi cộng thì lại pop ra thì các số bên phải sẽ ra trước. Nhắc lại 1 lần nữa, code cụ thể viết thế nào còn tùy thuộc bạn dùng ngôn ngữ nào và khai báo stack thế nào

kimduquan
17-05-2009, 09:05
dùng phương pháp "chia để trị" hoặc chuỗi cho nó đơn giản.