Tin học Phương trình bậc 2

Nguyễn Trần Phát

Học sinh mới
Thành viên
8 Tháng chín 2020
111
45
11
17
Nghệ An
THCS Đặng Thai Mai
[TẶNG BẠN] TRỌN BỘ Bí kíp học tốt 08 môn
Chắc suất Đại học top - Giữ chỗ ngay!!

ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.

Yêu cầu:
Viết chương trình giải phương trình ax2+bx+c = 0 với a, b, c là 3 số nguyên.
Dữ liệu:
- Một dòng ghi 3 số nguyên a,b,c kiểu 32 bit.
Kết quả:
- In ra -1 nếu phương trình vô nghiệm
- In ra 0 nếu phương trình có nghiệm bằng 0
- In ra 1 nếu phương trình có 2 nghiệm phân biệt cùng dấu
- In ra 2 nếu phương trình có 2 nghiệm phân biệt trái dấu
- In ra 3 nếu phương trình có 1 nghiệm kép khác 0
 

quân pro

Cựu CTV Confession
Thành viên
22 Tháng bảy 2017
1,262
3,224
356
Hà Nội
THPT Trần Phú - Hoàn Kiếm
Yêu cầu:
Viết chương trình giải phương trình ax2+bx+c = 0 với a, b, c là 3 số nguyên.
Dữ liệu:
- Một dòng ghi 3 số nguyên a,b,c kiểu 32 bit.
Kết quả:
- In ra -1 nếu phương trình vô nghiệm
- In ra 0 nếu phương trình có nghiệm bằng 0
- In ra 1 nếu phương trình có 2 nghiệm phân biệt cùng dấu
- In ra 2 nếu phương trình có 2 nghiệm phân biệt trái dấu
- In ra 3 nếu phương trình có 1 nghiệm kép khác 0
Dù không theo yêu cầu đầu bài nhưng em lấy làm tham khảo :)
Code anh tự soạn

C++

upload_2020-9-10_8-24-58.png

upload_2020-9-10_8-25-31.png
 
  • Like
Reactions: ~ Su Nấm ~

System32

Học sinh chăm học
Thành viên
25 Tháng chín 2018
343
348
101
Hà Nội
THPT Marie Curie
Yêu cầu:
Viết chương trình giải phương trình ax2+bx+c = 0 với a, b, c là 3 số nguyên.
Dữ liệu:
- Một dòng ghi 3 số nguyên a,b,c kiểu 32 bit.
Kết quả:
- In ra -1 nếu phương trình vô nghiệm
- In ra 0 nếu phương trình có nghiệm bằng 0
- In ra 1 nếu phương trình có 2 nghiệm phân biệt cùng dấu
- In ra 2 nếu phương trình có 2 nghiệm phân biệt trái dấu
- In ra 3 nếu phương trình có 1 nghiệm kép khác 0
Python
Mã:
a, b, c = map(int, input().split())

if c == 0:
    print(0)
else:
    delta = b**2 - 4*a*c
    if delta < 0:
        print(-1)
    elif delta == 0 and b != 0:
        print(3)
    elif delta > 0:
        print(2 if a*c < 0 else 1)
Dù không theo yêu cầu đầu bài nhưng em lấy làm tham khảo :)
Code anh tự soạn

C++

View attachment 164698

View attachment 164699
Cũng muốn thử với Python:>
Mã:
import math

def quadratic_solver(a, b, c):
    """
    Solving quadractic equation using a simpler quadratic formula
    """
    b, c = b / a, c / a
    if b**2 / 4 - c < 0:
        print("No solution")
    elif b**2 / 4 - c == 0:
        print("x = {}".format(-b / 2))
    else:
        print("x1 = {}; x2 == {}".format(-b/2 + math.sqrt(b**2 / 4 - c), -b/2 - math.sqrt(b**2 / 4 - c)))

print("Quadratic Equation Solver (ax^2 + bx + c = 0)")
print("Enter coefficient of the equation, respectively (with space).")
print("For example: Type 1 2 1 to solve x^2 + 2x + 1 = 0")

a, b, c = map(int, input().split())
if a == 0:
    print("Your equation is now a linear equation. Are you sure you want to continue solving? [y/N]", end=" ")
    confirm = input()
    print("Your solution: {}".format(-c / b) if confirm.lower() == "y" else exit())
else:
    quadratic_solver(a, b, c)
 
Top Bottom