Từ 1 tới 6 trên tổng số 6 kết quả

Đề tài: Luỹ thừa với số nguyên dài

  1. #1
    Ngày gia nhập
    10 2007
    Bài viết
    5

    Mặc định Luỹ thừa với số nguyên dài

    Cho mình hỏi có cách nào tính luỹ thừa của hai số nguyên dài nhanh ko?
    Mình sử dụng cách nhân liên tục thấy không được hiệu quả lắm

  2. #2
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    không rõ câu hỏi lắm.
    Ý cậu là 2 số nguyên kiểu int hay kiểu list.

    Vấn đề này thì cũng chỉ giải quyết bằng cách nhân liên tục thôi.

  3. #3
    Ngày gia nhập
    10 2007
    Bài viết
    5

    2 số nguyên dài này được ghi trên mảng. Cách nhân liên tục không hiệu quả trong trường hợp số mũ quá lớn

  4. #4
    Ngày gia nhập
    08 2006
    Bài viết
    59

    Thân gửi bạn Nam,

    x^234

    Thay vì làm 234 phép nhân; tui nghĩ bạn thử làm như vầy coi sao:

    x^234 = (x^23)^10 * (x^4) = [(x^2)^10 * (x^3)]^10 * (x^4)

    => mình sẽ làm các phép tính:
    A = x^2
    B = A^10 (= x^20)
    C = x^3
    D = B*C (= x^23)
    E = D^10 (= x^230)
    F = x^4
    G = E*F (= x^234)

    (hiểu biết nông cạn; có gì sai mong được góp ý; xin cám ơn)

    -thân

  5. #5
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Bete cậu có thể giải thích rõ hơn chút nữa được ko ?
    Tớ không thấy rõ nó tối ưu hơn nhân liên tiếp như thế nào ?

  6. #6
    Ngày gia nhập
    08 2006
    Bài viết
    59

    Mặc định Luỹ thừa với số nguyên dài

    Thân gửi bạn kidkid,

    Khi tính x^n; nếu n đủ lớn (ví dụ như n=234):
    - nếu xài nhân liên tiếp thì tốn 234=n phép nhân
    - còn nếu làm như trên thì tốn khá ít hơn n phép tính

    Để ý thêm, mình có thể tính, ví dụ là x^6, như sau:

    A = x^2
    B = A^2 (= x^4)
    C = A*B (= x^6)
    => tốn chỉ có 3 phép nhân thay vì 6 phép nhân (cách làm là tương tự như trên; nhưng phân tích số mũ ra cơ số 2 thay vì để nguyên ở cơ số 10)

    (hiểu biết nông cạn; có gì sai sót mong được góp ý; xin cám ơn)

    -thân

Các đề tài tương tự

  1. Bài tập C giải thuật nhập vào số nguyên n in ra n số nguyên tố đầu tiên?
    Gửi bởi LTC trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 48
    Bài viết cuối: 25-04-2013, 07:40 PM
  2. Viết chương trình nhập số nguyên dương n, liệt kê n số nguyên tố đầu tiên.
    Gửi bởi maiit trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 11
    Bài viết cuối: 19-06-2011, 01:05 PM
  3. Game Viết chương trình nhập số nguyên dương n, liệt kê n số nguyên tố đầu tiên trên C#?
    Gửi bởi maiit trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 18
    Bài viết cuối: 08-06-2011, 11:12 PM
  4. Bài tập C++ chương trình đổi 1 số nguyên trong hệ thập phân sang hệ fibo và cộng 2 số nguyên được
    Gửi bởi nghiapro512 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 23-01-2011, 02:14 PM
  5. Lập trình C xin code cài đặt thuật toán sàng nguyên tố để liệt kê các số nguyên tố 2->480000
    Gửi bởi ngocdung_088 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 23
    Bài viết cuối: 06-12-2010, 11:53 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn