01/10/2018, 11:17

Phép chia 2 số nguyên lớn không dư sử dụng chuỗi

Chào anh em . Em muốn chia 2 số nguyên lớn không dư sử dụng chuỗi , ai có code mẫu hoặc ý tưởng thì giúp em với ạ.

HK boy viết 13:27 ngày 01/10/2018

Em muốn chia 2 số nguyên lớn không dư sử dụng chuỗi

Bạn muốn tính thương thực á? Thế thì bạn muốn lấy bao nhiêu chữ số ở phần thập phân?

ý tưởng

Chia như học sinh cấp 1 tính tay ấy.

rogp10 viết 13:31 ngày 01/10/2018

Dùng vector nhé Không nên dùng chung dạng hiển thị và dạng biểu diễn (để tính), vì đa số ứng dụng không cần hiện những số như vầy.

À muh “nếu mà không biết thì tra Google” :v

vuhuubao viết 13:29 ngày 01/10/2018

Em chỉ cần ra phần nguyên thôi. Còn ý tưởng học sinh lớp 1 thì em đã xem qua rồi nếu 2 số to chia cho nhau thì sao làm được

vuhuubao viết 13:31 ngày 01/10/2018

Em không muốn sử dụng vector anh ơi @@

HK boy viết 13:29 ngày 01/10/2018

Còn ý tưởng học sinh lớp 1 thì em đã xem qua rồi nếu 2 số to chia cho nhau thì sao làm được

Thì tương tự thôi có gì đâu. Xem qua ý tưởng rồi mà vẫn chưa ngộ ra thuật toán sao?

a là số bị chia, b là số chia.

  • Lấy ra length(b) chữ số đầu tiên của a.
  • Nếu số đã lấy >= b, chia cho b, nếu không thì hạ tiếp chữ số tiếp theo ghép vào số đã lấy.
  • Lấy phần dư của phép chia trên, hạ xuống, lấy tiếp chữ số tiếp theo.
  • Tiếp tục làm lại từ bước 2.
vuhuubao viết 13:26 ngày 01/10/2018

Em khó nhất đoạn 2 số bằng nhau chia cho nhau nếu 2 số to thì sao làm được ạ

HK boy viết 13:24 ngày 01/10/2018
int q(BigInt a, BigInt b) {
    for (int res = 0; ; res++)
        if (mul(b, res) > a) return res - 1;
}
vuhuubao viết 13:24 ngày 01/10/2018

Vâng . Em cảm ơn anh

Hung viết 13:23 ngày 01/10/2018

Code mẫu nè
http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/math/BigInteger.java

Bài liên quan
0