Bài 1: Độ dài đoạn thẳng - Xác định bài toán: input: Nhập tọa độ x1,y1 của điểm A và x2,y2 điểm B output: Đưa ra độ dài đoạn thẳng A,B lấy chính xác đến 2 chữ số thập phân - Thuật toán: Áp dụng công thức: dAB = căn((x2-x1)^2+(y2-y1)^2) from math import sqrt x1=int(input()) y1=int(input()) x2=int(input()) y2=int(input()) dAB=sqrt((x2-x1)**2+(y2-y1)**2) print("{:.3}".format(dAB)) Bài 2: Chu vi và diện tích tam giác
- Xác định bài toán: input: nhập độ dài 3 cạnh a,b,c của tam giác ABC output: Đưa ra chu vi và diện tích của tam giác ABC lấy chính xác đến 3 chữ số thập phân
- Thuật toán: Áp dụng: Công thức tính chu vi: d=a+b+c gọi p là nửa chu vi: p=d/2 Công thức tính diện tích: s=căn(p*(p-a)*(p-b)*(p-c)) from math import sqrt a=int(input()) b=int(input()) c=int(input()) d=a+b+c p=d/2 s=sqrt(p*(p-a)*(p-b)*(p-c)) print(d) print("{:.3}".format(s)) Bài 3 Xác định bài toán: input:nhập tọa độ x1,y1 của điểm A; x2,y2 của điểm B; x3,y3 của điểm C output: đưa ra độ dài của dAB, dBC, dAC. -Thuật toán: Áp dụng công thức: dAB = căn((x2-x1)^2+(y2-y1)^2) from math import sqrt x1 = int(input()) x2 = int(input()) x3 = int(input()) y1 = int(input()) y2 = int(input()) y3 = int(input()) dAB = sqrt((x2-x1)**2+(y2-y1)**2) dBC = sqrt((x3-x2)**2+(y3-y2)**2) dCA = sqrt((x1-x3)**2+(y1-y3)**2) print("{:.3}".format(dAB)) print("{:.3}".format(dBC)) print("{:.3}".format(dCA)) Bài 4: a = int(input()) b = int(input()) x = (a-2)*(b-2) y = a*b-x print(x) print(y) Bài 5: - Xác định bài toán input: n là số tự nhiên output: tổng n là tự nhiên
- Thuật toán Áp dụng công thức tính tổng số tự nhiên liên tiếp s=1+2+3+…+n=n*(n+1)/2 N = int(input()) S = (N*(N+1))/2 print(S)
Được sửa bởi Trịnh Xuân An ngày Fri Nov 11, 2022 7:35 am; sửa lần 1.
Trịnh Xuân An
Tổng số bài gửi : 29 Join date : 10/10/2022
Tiêu đề: Re: Trịnh Xuân An Sun Oct 30, 2022 10:19 pm
Bài 6: Đề - n nguyên dương. s=1^2+2^2+…+n^2=? Code: n=int(input()) s=n*(n+1)*(2*n+1)/6 print(s) Test: n=4 Kq: 30
Admin likes this post
Trịnh Xuân An
Tổng số bài gửi : 29 Join date : 10/10/2022
Tiêu đề: Re: Trịnh Xuân An Sun Oct 30, 2022 10:20 pm
Bài 7 Đề - n nguyên dương. s=1+3+…+ (2*n-1)=? Code: n=int(input()) s=n*n print(s) Test n=4 Kq: 16
Admin likes this post
Trịnh Xuân An
Tổng số bài gửi : 29 Join date : 10/10/2022
Tiêu đề: Re: Trịnh Xuân An Sun Oct 30, 2022 10:20 pm
Bài 7 Đề - n nguyên dương. s=1+3+…+ (2*n-1)=? Code: n=int(input()) s=n*n print(s) Test n=4 Kq: 16
Admin likes this post
Trịnh Xuân An
Tổng số bài gửi : 29 Join date : 10/10/2022
Tiêu đề: Re: Trịnh Xuân An Sun Oct 30, 2022 10:20 pm
Bài 8 Đề - n nguyên dương. s=1^3+2^3+…+n^3=? Code: n=int(input()) s=(n*(n+1))/2 print(s*s) Test n=4 Kq: 100
Admin likes this post
Trịnh Xuân An
Tổng số bài gửi : 29 Join date : 10/10/2022
Tiêu đề: Re: Trịnh Xuân An Sun Oct 30, 2022 10:21 pm
Bài 9 Đề - n nguyên dương. s=1^5+2^5+…+n^5=? Code: n=int(input()) s=(n*n*(n+1)*(n+1)*((2*n*n)+(2*n-1)))/12 print(s) Test n=4 Kq: 1300
Admin likes this post
Trịnh Xuân An
Tổng số bài gửi : 29 Join date : 10/10/2022
Tiêu đề: Re: Trịnh Xuân An Sun Oct 30, 2022 10:21 pm
Bài 10 Đề - n nguyên dương. s=1*2+2*3+3*4+…+n*(n+1)=? Code: n=int(input()) s=(n*(n+1)*(n+2))/3 print(s) Test n=4 Kq: 40
Admin likes this post
Trịnh Xuân An
Tổng số bài gửi : 29 Join date : 10/10/2022
Tiêu đề: Re: Trịnh Xuân An Sun Oct 30, 2022 10:21 pm
Bài 11 Đề - n nguyên dương. s=1/(1*2)+1/(2*3)+…+1/(n*(n+1))=? Code: n=int(input()) s= n=int(input()) s=n/(n+1) print(s) Test n=4 Kq: 4/5
Admin likes this post
Trịnh Xuân An
Tổng số bài gửi : 29 Join date : 10/10/2022
Tiêu đề: Re: Trịnh Xuân An Sun Oct 30, 2022 10:22 pm
Bài 12 Đề - n nguyên dương. s=1/(1*2*3)+1/(2*3*4)+1/(n*(n+1)*(n+2))=? Code: n=int(input()) s=(n*(n+3))/(4*(n+1)*(n+2)) print(s) Test n=4 Kq: 7/30
Admin likes this post
Trịnh Xuân An
Tổng số bài gửi : 29 Join date : 10/10/2022
Tiêu đề: Re: Trịnh Xuân An Sun Oct 30, 2022 10:22 pm
Bài 13 Đề - n nguyên dương. s=(3/(1*(2^2))+(5/(2*(3^2))+…(2*n+1)/((n*(n+1))^2)=? Code: n=int(input()) s=(n*(n+2))/((n+1)*(n+1)) print(s) Test n=4 Kq: 24/25
Admin likes this post
Trịnh Xuân An
Tổng số bài gửi : 29 Join date : 10/10/2022
Tiêu đề: Re: Trịnh Xuân An Sun Oct 30, 2022 10:22 pm
Bài 14 Đề - n và p nguyên dương. s=1+p^1+p^2+….p^n=? Code: p=int(input()) n=int(input()) s=((p**(n+1))-1)/(p-1) print(s) Test n=4, p=5 Kq: 781
Admin likes this post
Trịnh Xuân An
Tổng số bài gửi : 29 Join date : 10/10/2022
Tiêu đề: Re: Trịnh Xuân An Sun Oct 30, 2022 10:23 pm
Bài 15 Đề - n và p nguyên dương. s=1+2*p^1+3*p^2+…+(n+1)*p^n Code: n=int(input()) p=int(input()) A=((n+1)*p**(n+1))/(p-1) B=(p**(n+1)-1)/(p-1)**2 S=A-B print(S) Test n=4, p=5 Kq: 3711
Admin likes this post
Trịnh Xuân An
Tổng số bài gửi : 29 Join date : 10/10/2022
Tiêu đề: Re: Trịnh Xuân An Mon Oct 31, 2022 6:03 am
bài 16:
n=int(input()) if n%2==0: print(f"{n} là số chẵn") else: print(f"{n} là số lẻ")
Trịnh Xuân An
Tổng số bài gửi : 29 Join date : 10/10/2022
Tiêu đề: Re: Trịnh Xuân An Mon Oct 31, 2022 6:03 am
bài 17:
n=int(input()) if (n%3==0) and (n%5!=0): print(True) else: print(False)
Trịnh Xuân An
Tổng số bài gửi : 29 Join date : 10/10/2022
Tiêu đề: Re: Trịnh Xuân An Mon Oct 31, 2022 6:04 am
bài 18
a=int(input()) b=int(input()) res=a if (res<b): res=b print(res)
Trịnh Xuân An
Tổng số bài gửi : 29 Join date : 10/10/2022
Tiêu đề: Re: Trịnh Xuân An Mon Oct 31, 2022 6:05 am
bài 20:
a=int(input()) b=int(input()) c=int(input()) m=a+b n=a+c p=b+c smax=m if smax<n: smax=n if smax<p: smax=p print(smax)
Trịnh Xuân An
Tổng số bài gửi : 29 Join date : 10/10/2022
Tiêu đề: Re: Trịnh Xuân An Thu Nov 10, 2022 11:19 am
Bài 16: Xác định bài toán: Input: Cho N. Output: Kiểm tra N có chia hết cho 3 và không chia hết cho 5 hay không? Nếu có ghi ra True ngược lại ghi ra False. Thuật toán: N chia hết cho 3 biểu diễn là N%3==0 N không chia hết cho 5 biểu diễn là N%5!=0 Phép toán và trong C++: && Vậy biểu thức điều kiện là (N%3==0)&&(N%5!=0) Code: =int(input()) if(N%3==0)and(N%5!=0): print(True) else: print(False)
Test: N=4. False
Trịnh Xuân An
Tổng số bài gửi : 29 Join date : 10/10/2022
Tiêu đề: Re: Trịnh Xuân An Thu Nov 10, 2022 11:30 am
*Xác định bài toán Input: tọa độ điểm M, tâm I và bán kính R Output: điểm M nằm trong, trên, hay nằm ngoài đường tròn *Thuật toán Ta tính khoảng cách IM Nếu IM>R thì điểm M nằm ngoài đường tròn Nếu IM=R thì điểm M nằm trên đường tròn Nếu IM<R thì điểm M nằm trong đường tròn *Code from math import sqrt x1=int(input()) y1=int(input()) x2=int(input()) y2=int(input()) r=int(input()) d=sqrt((x2-x1)**2+(y2-y1)**2) if d<r: print("M nằm trong đường tròn") if d==r: print("M nằm trên đường tròn") else: print("M nằm ngoài đường tròn")
Test x1=9 y1=3 x2=4 y2=1 r=4
=> M nằm ngoài đường tròn
Trịnh Xuân An
Tổng số bài gửi : 29 Join date : 10/10/2022
Tiêu đề: Re: Trịnh Xuân An Mon Nov 14, 2022 8:44 am
Kiểm tra thường xuyên Bài 1 *Xác định bài toán Input: nhập a,b,c,d Output: tính S, P *Thuật toán S=(a**2+b**2)/(c+d); P= (a**3+b)/(c/(a+1/(a-b))) *Code a=int(input()) b=int(input()) c=int(input()) d=int(input()) S=(a**2+b**2)/(c+d) P= (a**3+b)/(c/a+1/(a-b)) print("{:.3}".format(S)) print("{:.3}".format(P)) *Test a=9 b=3 c=4 d=7 S=8.18 P=1197.81
Được sửa bởi Trịnh Xuân An ngày Mon Nov 14, 2022 9:04 am; sửa lần 1.
Trịnh Xuân An
Tổng số bài gửi : 29 Join date : 10/10/2022
Tiêu đề: Re: Trịnh Xuân An Mon Nov 14, 2022 8:56 am
*Xác định bài toán Input: nhập a, b, c Output: Đây là tam giác vuông hay không *Thuật toán Nếu a**2+b**2=c**2 hoặc a**2+c**2=b**2 hoặc b**2+c**2=a**2 thì thông báo "Đây là tam giác vuông" Ngược lại, thông báo "Đây không là tam giác vuông" *Code a=int(input()) b=int(input()) c=int(input()) if a**2+b**2==c**2 or a**2+c**2==b**2 or b**2+c**2==a**2: print("Đây là tam giác vuông") else: print("Đây không là tam giác vuông") *Test a=3 b=4 c=5 => Đây là tam giác vuông
Trịnh Xuân An
Tổng số bài gửi : 29 Join date : 10/10/2022
Tiêu đề: Re: Trịnh Xuân An Thu Nov 24, 2022 11:14 am
Bài 18 *Xác định bài toán Input: nhập a, b Output: In ra giá trị lớn nhất *Thuật toán: Coi số đầu tiên là giá trị lớn nhất tới thời điểm hiện tại tức là: rmax=a. So sánh rmax với các giá trị còn lại. Giá trị nào lớn hơn thì rmax cập nhật lại giá trị rmax đó *Code a=int(input()) b=int(input()) rmax=a if rmax<b: rmax=b print(rmax) *Test a=3 b=4 rmax=4
Trịnh Xuân An
Tổng số bài gửi : 29 Join date : 10/10/2022
Tiêu đề: Re: Trịnh Xuân An Thu Nov 24, 2022 11:28 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, BC, AC theo công thức: dAB=sqrt ((xB-xA)**2+(yB-yA))**2) dBC=sqrt ((xC-xB)**2+(yC-yB))**2) dAC=sqrt ((xC-xA)**2+(yC-yA))**2) 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à 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 ax=3 ay=4 bx=5 by=6 cx=7 cy=8 => a, b, c không là ba cạnh của tam giác
Trịnh Xuân An
Tổng số bài gửi : 29 Join date : 10/10/2022
Tiêu đề: Re: Trịnh Xuân An Mon Nov 28, 2022 8:42 am
Bài 19 Xác định bài toán: +/ Input: cho a, b, c +/ Output: Xác định giá trị nhỏ nhất của a, b, c Thuật toán: Coi số đầu tiên là giá trị nhỏ nhất tới thời điểm hiện tại, tức là rmin = a. Sau đó, đem so sánh giá trị rmin với các giá trị còn lại. Giá trị nào nhỏ hơn rmin thì cập nhật lại rmin bằng giá trị đó. *Code a = int(input()) b = int(input()) c = int(input()) rmin = a if rmin > b: rmin = b if rmin > c: rmin = c print(rmin) *Test a=3 b=4 c=5 => rmin=3
Được sửa bởi Trịnh Xuân An ngày Mon Nov 28, 2022 8:49 am; sửa lần 1.
Trịnh Xuân An
Tổng số bài gửi : 29 Join date : 10/10/2022
Tiêu đề: Re: Trịnh Xuân An Mon Nov 28, 2022 8:49 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 *Code 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) *Test N=345 =>543
Trịnh Xuân An
Tổng số bài gửi : 29 Join date : 10/10/2022
Tiêu đề: Re: Trịnh Xuân An Mon Dec 05, 2022 8:09 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") *Test a=4 b=8 c=7 d=9 m=2 =>10/-10