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

    solution

    Đề bài: [Toán cho CNTT] Quét lưới tìm khoảng chứa nghiệm

    Quét lưới (scan) tìm khoảng chứa nghiệm

    Trước khi áp dụng chia đôi, ta cần một khoảng nhỏ chắc chắn chứa nghiệm. Chia [a,b][a,b][a,b] thành NNN đoạn đều nhau h=b−aNh=\dfrac{b-a}{N}h=Nb−a​, quét từ trái sang phải, tìm đoạn đầu tiên [xi,xi+1][x_i, x_{i+1}][xi​,xi+1​] mà f(xi)⋅f(xi+1)<0f(x_i)\cdot f(x_{i+1}) < 0f(xi​)⋅f(xi+1​)<0 và in hai đầu mút (6 chữ số thập phân, cách nhau dấu cách).

    Nếu gặp đúng nghiệm (f=0f=0f=0) tại một mốc thì in mốc đó hai lần. Nếu không có đoạn nào đổi dấu, in NONE.

    Ví dụ: f(x)=x2−2f(x)=x^2-2f(x)=x2−2 trên [0,2][0,2][0,2], N=4N=4N=4: các mốc 0,0.5,1,1.5,2; đổi dấu giữa 1 và 1.5.

    • Định dạng đầu vào:
      • Dòng 1: bậc nnn.
      • Dòng 2: hệ số.
      • Dòng 3: aaa và bbb.
      • Dòng 4: số đoạn NNN.
    • Ràng buộc đầu vào:

      1≤n≤101 \le n \le 101≤n≤10; a<ba<ba<b; 1≤N≤1051 \le N \le 10^51≤N≤105.

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

      Hai đầu mút khoảng (6 chữ số), hoặc NONE.

    Ví dụ:

    Đầu vào:

    2
    1 0 -2
    0 2
    4
    

    Đầu ra:

    1.000000 1.500000

    Giải thích:

    Đổi dấu giữa x=1 (f=-1) và x=1.5 (f=0.25).

    Đang tải editor...