Giải phương trình bậc 2 mà không dùng hàm căn, while, for

Dạ chào mọi người, em đang giải bài tập trên lớp mà thầy giao nhưng có yêu cầu không dùng hàm căn vì chưa học đến (lớp chỉ mới học đến if-else) nên em nghĩ thầy cũng sẽ không chấp nhận bài có dùng while hay for. Nếu có cho dùng while hay for thì em có thể làm được, nhưng thật sự phải bao gồm 3K (không sqrt, không while, không for) thì em không biết tính căn delta như thế nào.

Không biết có cách nào để giải bài không ạ? Dạ em xin cảm ơn mọi người.

Bạn đã thử dùng recursion chưa

2 Likes

^ Chắc chưa học tới hàm đâu.

Không dùng vòng lặp thì phải hội tụ nhanh, như vậy thì dùng Newton-Raphson được; cái khó là bạn không lấy được số mũ để ước lượng cho hợp lý (chắc chắn chưa học), chắc nên thử 7-8 lần lặp.

4 Likes

Không dùng hàm sqrt(delta) thì có cho dùng hàm pow(delta, 0.5) không :)?

4 Likes

Bài này bản chất không phải là giải phương trình gì ráo trọi mà là thực hành để biết input và output. bạn cứ viết nhập được các số a, b, c vào và thông báo ra đuọc là được.

Tính toán thì chỗ nào chưa biết cứ để đó, dùng if else để biện luận những trường hợp có nghiệm tính được trước, còn trường hợp cần dùng các hàm chưa học dùng để sau hoặc nếu học C thì có cách shift bit gì đó tra cứu để tìm hiểu là làm thay cho hàm chưa được phép dùng / thầy cô chưa cho dùng.

Về vấn đề căn bậc hai thì có lẽ là đã từng học phương pháp Newton, áp dụng phương pháp đó tính chứ nó không phải là gì đó quá cao siêu.

7 Likes

Về vụ vòng lặp thì có thể hiểu là chưa học đến chứ không cho dùng căn thì có ý nghĩa gì trong giảng dạy nhỉ.
Đang học if else thì quá hợp với bài giải pt bậc 2 rồi, nhưng dùng căn cũng cấm thì hơi khó hiểu

3 Likes

Cách này hay này :smile:

3 Likes

sao hay bằng xài hàm fast inverse square root được :upside_down_face:

3 Likes

Các bạn lại nghiêm trọng hoá vấn đề rồi, ngta có yêu cầu khai căn đâu mà cần sqrt, bạn cứ in thẳng ra thôi
(-b±√(b*b-4ac))/2a

2 Likes

chủ thớt chạy đâu mất rồi lạc đề qua viết công thức toán học đi. Học viết LaTeX cho nó đẹp đi nè:

$\frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$

là nó in ra \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
sửa \frac thành \dfrac (double frac) là nó in ra \dfrac{-b \pm \sqrt{b^2 - 4ac}}{2a} :crazy_face:

viết cái này thì viết công thức toán như viết code vui lắm

DNH xài KaTeX https://katex.org/docs/supported để render math :face_with_monocle:

7 Likes

dạ em đây ạ, em quên lên cập nhật nhưng sau vài ngày thì thầy đã suy nghĩ lại và cho phép dùng sqrt() rồi ạ, mọi việc đơn giản hẳn ra :rofl: em cảm ơn nhiều ạ

1 Like

sau vài ngày thì thầy đã suy nghĩ lại và cho phép dùng sqrt() rồi ạ, mọi việc đơn giản hẳn ra :rofl: em cảm ơn mọi người rất nhiều ạ

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?