Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Toán cho CNTT] Số bước chia đôi cần thiết để đạt sai số

    Số bước chia đôi cần thiết

    Với phương pháp chia đôi trên [a,b][a,b][a,b], sai số sau kkk bước là b−a2k\dfrac{b-a}{2^k}2kb−a​. Hãy tìm số nguyên kkk nhỏ nhất để sai số b−a2k≤tol\dfrac{b-a}{2^k} \le tol2kb−a​≤tol.

    k=⌈log⁡2b−atol⌉k = \left\lceil \log_2 \frac{b-a}{tol} \right\rceilk=⌈log2​tolb−a​⌉

    (nếu b−a≤tolb-a \le tolb−a≤tol thì k=0k=0k=0).

    Ví dụ: a=0,b=1,tol=0.01a=0, b=1, tol=0.01a=0,b=1,tol=0.01: cần 2k≥100⇒k=72^k \ge 100 \Rightarrow k=72k≥100⇒k=7 (vì 27=128≥1002^7=128 \ge 10027=128≥100, 26=64<1002^6=64 < 10026=64<100).

    • Định dạng đầu vào:

      Một dòng: aaa, bbb, toltoltol.

    • Ràng buộc đầu vào:

      a<ba < ba<b; ∣a∣,∣b∣≤106|a|,|b| \le 10^6∣a∣,∣b∣≤106; 10−9≤tol≤10410^{-9} \le tol \le 10^410−9≤tol≤104.

    • Định dạng đầu ra:

      Một số nguyên kkk.

    Ví dụ:

    Đầu vào:

    0 1 0.01
    

    Đầu ra:

    7

    Giải thích:

    2^7=128>=100, 2^6=64<100 -> k=7.

    Đang tải editor...