PDA

View Full Version : Chào mọi người



biboda
25-01-2003, 12:13
Hiiiiiiiiiiiiiiiiii cả nhà
Tui có một vấn đề nho nhỏ thế này:
Tính 5000!
Nhưng ma lòi cả mắt rùi mà ko tính ra.
Các hạ có ai tính được xin chỉ giáo.
( Và chỉ dùm cách để kiểm tra kết quả có tin cậy ko nha)

biboda
25-01-2003, 12:35
Tiện thể tui có một thắc mắc voi bài viết về Y=x^n
Cho tui hỏi một câu: nếu N đủ lớn để Y la rất lon thì phải lam sao đây hả các hạ

real_time
26-01-2003, 09:28
mình thấy bạn có vấn đề về số lớn. Thế này nhé mình cũng có ý định viết mấy chương trình về số lớn ý tưởng thì có đây rồi nhưng mình viết nó cứ thế nào ấy nên mình thử đưa ra vài ý tưởng để bạn xem xét thử xem làm như thế có ổn không ?
Thế này nhé: bạn sử dụng xâu để lưu lại tất cả các số lớn đó mà xâu thì có thể concat cho nhau được nên có thể tình với số lớn bao nhiệu cũng được! nhưng vấn đề đặt ra ở chỗ này là khi xử lý với xâu thì pascal không biết công trư như thế nào mà có khi cộng trừ cũng không được vì như vậy sẽ làm tràn các thanh ghi của CPU. Nên bạn phải viết lại tất cả các phép tính cơ bản (công việc này rất phức tạp) + - * / phải tính toán nhớ số rồi cộng dồn rất mệt! với phép công trừ thì đơn giản nhưng với phép * và / thì đúng là quá kho! nhưng nếu làm được với phép cộng thì lại dựa vào bản chất của phép nhân là công nhiều lần thì sẽ gọi lại số lần công là được. Nhưng còn phép chia thì mình chưa nghĩ ra cách nào cả.

ureka
29-01-2003, 20:45
Tui có một chương trình tính giai thừa với số lớn. Ở đây tui dùng con trỏ định kiểu dạng xâu. Nhưng cũng chỉ tính được 1469! vì tràn Stack. Tui nghĩ nếu các bác xem qua rồi cải tiến, sử dụng tài nguyên trên Heap thì có thể tính khoảng 20000!. Ngoài ra có một phương pháp có thể tính vô tận là sử dụng bộ nhớ ngoài... Hi vọng chương trình của tui có thể gợi ý giúp các bác cải tiến nó.
Khi nào xong, nhớ mail lại cho tui : hhdang2002@yahoo.com

hiensmart
31-01-2003, 15:28
Các bác có đọcPCWORLD 98 số đặc biệt ko? Nó có bài toán tính giai thừa cho số lớn đó, nhưng mà xem xong post lên lun nhé, em làm mất cuốn đó rùi:(

skywalker
01-02-2003, 22:54
nếu tính nhân dựa trên nguyên lý cộng thì tính trừ dựa trên nguyên lý trừ, thế thôi :D

Zero
03-02-2003, 19:20
PCWorld có một bài tính giai thừa với số lớn và theo tác giả của bài viết đó thì nó có thể tính đến > 50 000 000 ! tuy nhiên cách làm của người đó chỉ lấy được 10 chữ số sau dấu phẩy nên mới có thể tính được đến mức đó.