View Full Version : Cộng trừ nhân chia xâu
Ngô Tấn Quang
27-05-2009, 09:40 PM
Mọi người giúp em cái thuật toán + - * / 2 số để trong 2 xâu, kết quả để ở 1 xâu khác. 2 số lớn nên không convert được.
Thanks trước. :D
Neo0ọNcky
28-05-2009, 11:08 AM
- Sao không convert được nhỉ. Thử dùng 2 hàm Val(St, Var, Code) và hàm Str(Value, St) để biến đổi và tính xem nào? Cộng trừ nguyên trong 2 String thì tính làm sao được. Phải chuyển ( phần số cần chuyển ấy) sang dạng số nguyên hoặc thực chứ. Rồi sau rồi lại chuyển vào dạng String sau!
Ngô Tấn Quang
28-05-2009, 04:26 PM
Thế thì anh nói em cái thuật toán đi. 2 số lớn dù có convert được nhưng nhân là tràn bộ nhớ ngay.
hungnguyenvan
02-06-2009, 07:33 PM
+, -, *, / (phép mod) hai số lớn lên đến hàng nghìn chữ số có thể thực hiện bằng cách sử dụng xâu hoạc mảng. Cộng và trừ và nhân thì bạn làm như là bạn thực hiện trên giấy ý.
Ví dụ: 14566566646222 + 2123547845255555222221155
Bàn đi từ cuối lên rồi thực hiện từng số một là OK. Nếu để ở dang String thì phải chuyển sang số rồi thực hiện.
Còn phép chia thì chỉ làm được phép mod tức là phép chia nguyên đó, bạn thực hiện phép trừ liên tiếp đến khi không trừ được nữa thì dùng lại cho kết quả.
Good luck,
Ngô Tấn Quang
03-06-2009, 05:58 PM
Cộng thì em làm được rồi, nhưng * hơi khó, giúp em với
hungnguyenvan
03-06-2009, 07:09 PM
Cộng và trừ là tương tự nhau. Nhân thi ví dụ như sau:
abcdefgh * mnpqrt
Bạn lấy t nhân với hgfedcba, rồi lại lấy q nhân với hgfedcba,.... như là bạn làm trên giấy ý, rồi cộng dồn nó lại là OK. Chú ý là phải lùi hàng để cộng. Nói tóm lại là bạn thực hiện như trên giấy.
vBulletin v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.