May 2024 | Mon | Tue | Wed | Thu | Fri | Sat | Sun |
---|
| | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | Calendar |
|
Top posting users this week | |
| | Lương Ngọc Anh | |
| | |
Tác giả | Thông điệp |
---|
ngcahluw
Tổng số bài gửi : 36 Join date : 10/10/2022
| Tiêu đề: Re: Lương Ngọc Anh Thu Nov 24, 2022 11:30 am | |
| Bài 26: _ Xác định bài toán: Input: Tọa độ các điểm A, B, C . Kiểm tra A, B. C có là ba đỉnh của tam giác. Output: Nếu A, B, C là ba đỉnh của tam giác thì tính diện tích tam giác ABC Nếu A, B, C không là ba đỉnh của tam giác thì ghi ra “NONE”
Thuật toán: Tính độ dài AB, AC, BC theo công thức: dAB = sqrt ((xB-xA)**2 + (yB-yA)**2) dAC = sqrt ((xC-xA)**2 + (yC-yA)**2) dBC = sqrt ((xC-xB)** + (yC-yB)**) Tổ chức chương trình dưới dạng hàm để tính độ dài đoạn thẳng. dAB, dAC, dBC là ba cạnh của tam giác khi tổng hai cạnh lớn hơn cạnh còn lại.
_ Code: from math import sqrt from math import pow def distance_points(mx, my, nx, ny): return sqrt(pow(nx - mx, 2) + pow(ny - my, 2)) ax = int(input()) ay = int(input()) bx = int(input()) by = int(input()) cx = int(input()) cy = int(input()) ab = distance_points(ax, ay, bx, by) bc = distance_points(bx, by, cx, cy) ca = distance_points(cx, cy, ax, ay) if (ab + bc > ca) and (bc + ca > ab) and (ca + ab > bc): p = (ab + bc + ca) / 2.0 s = sqrt(p * (p - ab) * (p - bc) * (p-ca)) print("Ket qua: {:.3f}".format(s)) else: print("a,b,c khong la ba canh cua tam giac") _ Test 3 4 5 5 8 8 _ Kết quả Ket qua: 1.500 | |
| | | ngcahluw
Tổng số bài gửi : 36 Join date : 10/10/2022
| Tiêu đề: Re: Lương Ngọc Anh Mon Nov 28, 2022 8:50 am | |
| Bài 31: _ Xác định bài toán: Input: nhập a, b, c, d, m nguyên dương Output: phương trình vô số nghiệm thì in ra “MULTIPLE”, vô nghiệm thì in ra “NONE”, có nghiệm thù in ra dạng x=p/q _ Thuật toán: ●Ta biến đổi phương trình trên về dạng phương trình bậc nhất một ẩn p.x + q = 0 Với p = a - e*c; q = b - e*d; và x ≠ -d/c ●Nếu p = 0 thì + Nếu q = 0 thì thông báo “ Muptiple” + Ngược lại, thông báo “None” ●Ngược lại, + Tính x = -q/p + Nếu x ≠ -d/c thì cout << -q <<”/” << p; _ Code: a = int(input()) b = int(input()) c = int(input()) d = int(input()) m = int(input()) p = a - m * c q = b - m * d if p == 0 and q == 0: print("Multiple") elif p == 0 and q != 0: print("None") else: x = -(q/p) if x != -(d/c): print (-q,"/",p) else: print("None")
_ Thử: 1 1 1 1 1 _ Kết quả: Multiple
Được sửa bởi ngcahluw ngày Thu Dec 15, 2022 11:19 am; sửa lần 1. | |
| | | ngcahluw
Tổng số bài gửi : 36 Join date : 10/10/2022
| Tiêu đề: Re: Lương Ngọc Anh Mon Nov 28, 2022 8:54 am | |
| Bài 23: _ Xác định bài toán: Input: Các số thực a, b, c (a≠0). Output: Các số thực x thoả mãn ax2 + bx + c = 0. _ Thuật toán: Ta tính biệt số delta: d = b * b -4ac Sau đó thực hiện xét dấu của d: - Nếu d < 0 thì thông báo “NONE” Ngược lại, Nếu d=0 thì X12= -b/2a Đưa x12 ra Ngược lại thì, Tính x1= -b+căn d/2a; x2=-b-căn d/2a Đưa x1 và x2 ra _ Code: from math import sqrt a = int(input()) b = int(input()) c = int(input()) d = b**2-4*a*c if d<0: print("NONE") elif d==0: print("x1=x2={:.2}".format(-1.0*b/(2.0*a))) else: x1=(-1.0*b+sqrt(d))/(2*a) x2=(-1.0*b/a) - x1 print("x1={:.2}".format(x1)) print("x2={:.2}".format(x2))
_ Thử: 3 2 8 _ Kết quả: NONE
Được sửa bởi ngcahluw ngày Thu Dec 15, 2022 11:16 am; sửa lần 1. | |
| | | ngcahluw
Tổng số bài gửi : 36 Join date : 10/10/2022
| Tiêu đề: Re: Lương Ngọc Anh Thu Dec 01, 2022 11:14 am | |
| Bài 29: Xác định bài toán: +/ Input: Cho N là số tự nhiên 3 chữ số +/ Output: Tìm hoán vị chữ số có giá trị lớn nhất của N. ( Ví dụ : Với N là 213 thì ta có các hoán vị là 123, 231, 312, 321, 132 và 321 là hoán vị có giá trị lớn nhất) Thuật toán: Tách các chữ số của N lưu vào a, b, c: +/ Nếu a < b thì hoán đổi vị trí của a và b +/ Nếu b < c thì hoán đổi vị trí của b và c Thực hiện xong 2 lần hoán đổi này, giá trị thu được có thể chưa lớn nhất nên ta cần thực hiện so sánh thêm 1 lần nữa: +/ Nếu a < b thì hoán đổi vị trí của a và b +/ Nếu b < c thì hoán đổi vị trí của b và c Chương trình: N = int(input()) a = N//100 b = (N//10)%10 c = N%10 if a<b: a,b=b,a if b<c: b,c=c,b if a<b: a,b=b,a if b<c: a,c=c,b N = a*100 + b*10 + c print(N)
_ Thử: 259
_ Kết quả: 952 | |
| | | ngcahluw
Tổng số bài gửi : 36 Join date : 10/10/2022
| Tiêu đề: Re: Lương Ngọc Anh Thu Dec 01, 2022 11:21 am | |
| Bài 28: - Xác định bài toán: input: nhập số nguyên dương N có 3 chữ số output: tìm chữ số lớn nhất trong N - Thuật toán: Ta thực hiện tách các chữ số của N lưu vào a, b, c bằng phép toán chia nguyên và chia dư: a = N / 100 b = (N / 10) % 10 c = N % 10 Bài toán quy về tìm giá trị lớn nhất của a, b và c (ta đã giải được).
- Chương trình: n= int(input()) a= n//100 b= (n//10)%10 c= n%10 res=a if res<b: res=b if res<c: res=c print(res)
- Thử: 762 - Kết quả: 7 | |
| | | ngcahluw
Tổng số bài gửi : 36 Join date : 10/10/2022
| Tiêu đề: Re: Lương Ngọc Anh Thu Dec 01, 2022 11:25 am | |
| Bài 37: - Xác định bài toán: Input: Nhập n nguyên dương Output; Các số nhỏ hơn hoặc bằng n chia hết cho 2 và không chia hết cho 3 - Thuật toán: Duyệt giá trị i từ 1 đến n Nếu (i chia hết cho 2) và (i không chia hết cho 3) thì Viết i ra màn hình.
- Code: n = int(input()) for i in range (1, n+1): if(i % 2== 0) and (i % 3!= 0): print(i)
Test: 16 Kết quả: 2 4 6 8 10 14 16
Được sửa bởi ngcahluw ngày Wed Dec 21, 2022 9:26 pm; sửa lần 2. | |
| | | ngcahluw
Tổng số bài gửi : 36 Join date : 10/10/2022
| Tiêu đề: Re: Lương Ngọc Anh Mon Dec 05, 2022 7:43 am | |
| Bài 22: Giải phương trình bậc nhất Đề bài: Cho a và b. Giải và biện luận phương trình ax+b=0. -Nếu phương trình có Vô số nghiệm thì ghi ra “MULTIPLE” -Nếu phương trình Vô nghiệm thì ghi ra “NONE” -Nếu phương trình có nghiệm thì ghi x ra. Kết quả lấy chính xác 3 chữ số thập phân. Thuật toán: Nếu a=0 thì - Nếu b=0 thì thông báo “MULTIPLE” ngược lại nếu b!=0 thì thông báo “NONE”; Ngược lại, - Tính x= -b/a; Sau đó, đưa giá trị của x ra. Lưu ý, x phải là liểu số thực và viết ra có quy cách bằng câu lệnh print(“%0.3f”,x); Code: a=int(input()) b=int(input()) if a==0: if b==0: print("MULTIPLE") else: print("NONE") else: x= -b/a print("x={:.3f}".format(x)) Thử: 747 857 Kết quả: -1.147 | |
| | | ngcahluw
Tổng số bài gửi : 36 Join date : 10/10/2022
| Tiêu đề: Re: Lương Ngọc Anh Mon Dec 05, 2022 7:46 am | |
| Bài 30: Xóa số Đề bài: Cho N là số nguyên dương có ba chữ số . Người ta thực hiện xóa đi một chữ số của N và giữ nguyên thứ tự các chữ còn lại. Với N = 123, thực hiện xóa số như trên ta thu được các số 12, 23, 13 và số 12 là giá trị nhỏ nhất thu được. Cho N. Hãy tìm giá trị nhỏ nhất thu được theo cách xóa trên. Thuật toán: -Ta thực hiện tách các chữ số của N lưu vào a, b và c -Với các chữ số thu được ta có thể ghép thành số có hai chữ số theo thứ tự ban đầu là: ab, ac và bc -Bài toán qui về tìm giá trị lớn nhất của 3 số nguyên dương. Code: n=int(input()) a=n//100 b=(n//10)%10 c=n%10 v1=a*10+b v2=b*10+c v3=a*10+c rmin=v1 if rmin>v2: rmin=v2 if rmin>v3: rmin=v3 print(rmin) Thử: 756 Kết quả: 56 | |
| | | ngcahluw
Tổng số bài gửi : 36 Join date : 10/10/2022
| Tiêu đề: Re: Lương Ngọc Anh Thu Dec 15, 2022 11:37 am | |
| Bài 39: _ Xác định bài toán: Input: cho n nguyên dương Output: các ước nguyên dương của n _ Thuật toán: Cho i là số chạy từ 1 đến n/2. Do ước của n nằm trong khoảng trên nên t lấy n chia cho i. Số n chia hết cho i là ước _ Code: n=int(input()) for i in range(1,int(n//2)+1): if n%i==0: print(i) print(n)
_ Thử: 10 _ Kết quả: 1 2 5 10 | |
| | | ngcahluw
Tổng số bài gửi : 36 Join date : 10/10/2022
| Tiêu đề: Re: Lương Ngọc Anh Mon Dec 19, 2022 8:51 am | |
| Bài 46: _ Xác định bài toán: input: cho số nguyên dương N output: nếu N là số nguyên tố ghi "True", ngược lại ghi "False" _ Thuật toán: Xét n<2 thì in False Ngược lại n>2 thì xét giá trị i từ 2 đến căn bậc 2 của n, nếu n chia hết cho i thì in False rồi dừng lặp, ngược lại in True _ Code: from math import sqrt n=int(input()) if (n<2): print(False) else: for i in range(2,int(sqrt(n))+1): if (n%i == 0): print(False) break else: print(True) _Thử: 4 _ Kết quả: False | |
| | | Sponsored content
| Tiêu đề: Re: Lương Ngọc Anh | |
| |
| | | | Lương Ngọc Anh | |
|
Similar topics | |
|
| Permissions in this forum: | Bạn được quyền trả lời bài viết
| |
| |
| |