| Mai Anh Thư | |
|
|
|
Tác giả | Thông điệp |
---|
Mai Anh Thư
Tổng số bài gửi : 51 Join date : 05/10/2022
| Tiêu đề: Re: Mai Anh Thư Wed Nov 30, 2022 9:03 pm | |
| Bài 23: Xác định bài toán:input: nhập a,b,c output: vô nghiệm thì in ra “NONE” có nghiệm kép thì in ra nghiệm kép đó có 2 nghiệm phân biệt thì in ra 2 nghiệm đó Thuật toán:Nhập a ,b,c tính delta= b*b+4*a*c sau đó xét dấu của d Nếu d<0 thì in ra "NONE" ngược lại d=0 thì in ra x12=-b/(2*a) d>0 thì tính x1 = (-1.0 * b+sqrt(d)) / (2 * a) x2 = (-1.0 * b/a) - x1 sau đó in ra x1 ,x2 - Code:
-
from math import sqrt a=int(input()) b=int(input()) c=int(input()) d=b*b-4*a*c if d < 0: print("NONE") elif d == 0: print("{:.3f}".format(-1.0 * b /(2.0 * a))) else: x1 = (-1.0 * b+sqrt(d)) / (2 * a) x2 = (-1.0 * b/a) - x1 print("{:.2f}".format(x1)) print("{:.2f}".format(x2))
Test: 8 2 2 Kq: NONE | |
|
| |
Mai Anh Thư
Tổng số bài gửi : 51 Join date : 05/10/2022
| Tiêu đề: Re: Mai Anh Thư Wed Nov 30, 2022 9:12 pm | |
| BÀI 26: Xác định bài toán: input: Nhập x1, x2, x3, y1, y2, y3 x1, y1 ( toạ độ điểm A) x2, y2(toạ độ điểm B) x3, y3( toạ độ điểm C) output: đưa ra diện tích tam giác (nếu A, B, C là 3 đỉnh của tam giác) hoặc đưa ra "NONE" (nếu A, B, C không phải 3 đỉnh của tam giác) Thuật toán: nhập x1 y1 x2 y2 x3 y3 tính độ dài ab=sqrt(pow(x2-x1,2)+ pow(y2-y1,2)) ca=sqrt(pow(x1-x3,2)+ pow(y1-y3,2)) bc=sqrt(pow(x3-x2,2)+ pow(y3-y2,2)) kiểm tra nếu ab bc ca là ba cạnh của tam giác thì tính nửa chu vi và tính s nếu ab bc ca không phải là ba cạnh của tam giác thì in ra "NONE" - Code:
-
from math import sqrt from math import pow x1=int(input()) y1=int(input()) x2=int(input()) y2=int(input()) x3=int(input()) y3=int(input()) ab=sqrt(pow(x2-x1,2)+ pow(y2-y1,2)) ca=sqrt(pow(x1-x3,2)+ pow(y1-y3,2)) bc=sqrt(pow(x3-x2,2)+ pow(y3-y2,2)) 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("{:.3f}".format(s)) else: print("NONE")
Test: 0 0 6 0 2 3 Kq: 9,000 | |
|
| |
Mai Anh Thư
Tổng số bài gửi : 51 Join date : 05/10/2022
| Tiêu đề: Re: Mai Anh Thư Wed Nov 30, 2022 9:16 pm | |
| BÀI 28: Xác định bài toán: input: Nhập số nguyên dương N có 3 chữ số output: Đưa ra chữ số lớn nhất trong N Thuật toán: Nhập N Tách N thành a, b, c bằng phép chia nguyên và chia dư a=N/100 b=(N/10)%10 c=N%10 Sau đó so sánh r đưa ra số lớn nhất - Code:
-
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)
Test: 439 Kq:9 | |
|
| |
Mai Anh Thư
Tổng số bài gửi : 51 Join date : 05/10/2022
| Tiêu đề: Re: Mai Anh Thư Wed Nov 30, 2022 9:20 pm | |
| BÀI 29: Xác định bài toán: input: Nhập N là số nguyên dương có 3 chữ số output: Đưa ra chữ số hoán vị lớn nhất từ N Thuật toán: Tách N thành a, b, c nếu a nhỏ hơn b thì đổi chỗ a và b b nhỏ hơn c thì đổi chỗ b và c giá trị chưa lớn nhất ta so sánh 1 lần nữa a nhỏ hơn b thì đổi chỗ a và b b nhỏ hơn c thì đổi chỗ b và c sau đó in ra số có 3 chữ số đó - 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): b,c=c,b n=a*100+b*10+c print(n)
Test : 235 Kq: 532 | |
|
| |
Mai Anh Thư
Tổng số bài gửi : 51 Join date : 05/10/2022
| Tiêu đề: Re: Mai Anh Thư Wed Nov 30, 2022 10:06 pm | |
| Bài 30: Xác định bài toán: input: Nhập số N có 3 chữ số output: Đưa ra số có 2 chữ số nhỏ nhất sau khi thực hiện xóa số Thuật toán: Tách N thành a, b, c ghép thành ab, ac, bc tìm số nhỏ nhất rồi đưa ra - Code:
-
n = int(input()) a = n//100 b = (n//10)%10 c = n%10 ab=a*10+b ac=a*10+c bc=b*10+c min=ab if min>ac: min=ac if min>bc: min=bc print(min)
Test: 123 Kq: 12 | |
|
| |
Mai Anh Thư
Tổng số bài gửi : 51 Join date : 05/10/2022
| Tiêu đề: Re: Mai Anh Thư Wed Nov 30, 2022 10:40 pm | |
| Bài 31: Xác định bài toán:input: Nhập a, b, c, d, m nguyên dương output: Nếu phương trình vô số nghiệm ghi "Multiple" Vô nghiệm ghi "None" Nếu phương trình có nghiệm ghi dạng x=p/q. Thuật toán:Biến đổi phương trình 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 “Multiple” Ngược lại, “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()) if(d==m==0): print("NONE") else: p=a-m*c q=m*d-b if(p==0): if(q==0): print("MULTIPLE") else: print("NONE") else: x=(-p)/q if(x==(-d)/c): print("NONE") else: if(p<0): p*=-1 q*=-1 print("RESULT:",q,"/",p)
| |
|
| |
Mai Anh Thư
Tổng số bài gửi : 51 Join date : 05/10/2022
| Tiêu đề: Re: Mai Anh Thư Thu Jan 05, 2023 9:04 pm | |
| Bài 32: - Code:
-
x1 = int(input()) y1 = int(input()) x3 = int(input()) y3 = int(input()) xm = int(input()) ym = int(input()) if (xm < x1) or (xm > x3) or (ym < y3) or (ym > y1): print("M is not in rectangle") else: print("M is in rectangle")
Testinput: 3 0 0 2 2 0 output: M is in rectangle | |
|
| |
Mai Anh Thư
Tổng số bài gửi : 51 Join date : 05/10/2022
| Tiêu đề: Re: Mai Anh Thư Thu Jan 05, 2023 9:13 pm | |
| Bài 34: Xác định bài toán: input: Nhập N là số nguyên dương. S = 1+1/2+1/3+...+1/N output: Đưa ra kết quả đến 3 chữ số thập phân Thuật toán:Với i = 1 thì s tăng 1 Với i = 2 thì s tăng 2 ... Với i thì s tăng 1/i Vậy, s+=1/i - Code:
-
n = int(input()) s = 0 for i in range(1, n+1): s +=1.0 / i print("{:.3f}".format(s))
Test:input: 2 output: 1.500 | |
|
| |
Mai Anh Thư
Tổng số bài gửi : 51 Join date : 05/10/2022
| Tiêu đề: Re: Mai Anh Thư Thu Jan 05, 2023 9:18 pm | |
| Bài 35: Xác định bài toán:input: Nhập N là số nguyên dương. S = 1+1/3+1/5+...+1/2N-1 output: Đưa ra kết quả đến 3 chữ số thập phân Thuật toán:Với i = 1 thì s tăng 1 Với i = 3 thì s tăng 1/3 ... Với i thì s tăng 1/i với bước nhảy i = i+2 Vậy, s+=1/i; i = i+2 - Code:
-
n = int(input()) s = 0 for i in range(1, n+1): s +=1.0 / (i * 2 - 1) print("{:.3f}".format(s))
Testinput: 2 output: 1.833 | |
|
| |
Mai Anh Thư
Tổng số bài gửi : 51 Join date : 05/10/2022
| Tiêu đề: Re: Mai Anh Thư Thu Jan 05, 2023 9:23 pm | |
| Bài 36: Xác định bài toán:input: Nhập N là số nguyên dương. S = 1.2.3.4...N output: Đưa ra kết quả Thuật toán: Với i = 1 thì s nhân với 1 Với i = 2 thì s nhân với 2 ... Với i thì s nhân với i Vậy, s *=i; - Code:
-
n = int(input()) p = 1 for i in range(1, n+1): p *= i print(p)
Testinput: 3 output: 6 | |
|
| |
Mai Anh Thư
Tổng số bài gửi : 51 Join date : 05/10/2022
| Tiêu đề: Re: Mai Anh Thư Thu Jan 05, 2023 9:25 pm | |
| Bài 37: Xác định bài toán:input: Nhập N nguyên dương output: Đưa ra 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:B1: Nhập N và duyệt i từ 1 đến N B2: Thực hiện câu lệnh if(i%2==0) và (i%3!=0) B3: Đưa i ra - Code:
-
n = int(input()) for i in range(1, n+ 1): if (i % 2 == 0) and (i % 3 != 0): print(i)
Test: input: N = 10 output: 2 4 8 10 | |
|
| |
Mai Anh Thư
Tổng số bài gửi : 51 Join date : 05/10/2022
| Tiêu đề: Re: Mai Anh Thư Thu Jan 05, 2023 9:30 pm | |
| Bài 38: Xác định bài toán: input: Nhập N nguyên dương output: Đếm số lượng số chính phương nhỏ hơn hoặc bằng N Thuật toán:res = 0 Duyệt (i, 1, N) Nếu i là số chính phương thì res++ - Code:
-
from math import sqrt n = int(input()) cnt = 0 for i in range(1, n+1): if sqrt(i) == int(sqrt(i)): cnt += 1 print(cnt)
Test:input: 10 output: 3 | |
|
| |
Mai Anh Thư
Tổng số bài gửi : 51 Join date : 05/10/2022
| Tiêu đề: Re: Mai Anh Thư Thu Jan 05, 2023 9:34 pm | |
| Bài 39: Xác định bài toán: input: Nhập N nguyên dương output: Đưa ra các ước nguyên dương của N Thuật toán: Duyệt i từ 1 đến int(sqrt(n)) nếu n chia hết cho i thì in ra i nếu n chia i khác i thì in ra giá trị n chia i [Code] from math import sqrt n = int(input()) for i in range(1, int(sqrt(n)) + 1): if n % i == 0: print(i) if n / i != i: print(n / i) Test: input: 6 output: 1 2 3 6 | |
|
| |
Mai Anh Thư
Tổng số bài gửi : 51 Join date : 05/10/2022
| Tiêu đề: Re: Mai Anh Thư Thu Jan 05, 2023 9:39 pm | |
| Bài 40: Mua hàng - Code:
-
n = int(input()) a = int(input()) b = int(input()) p = False for i in range(n // a + 1): for j in range(n // b +1): if a * i + b * j ==n: print(i, j) p = True if p == False: print('NONE')
Testinput: 10 output: 2 2 5 0 | |
|
| |
Mai Anh Thư
Tổng số bài gửi : 51 Join date : 05/10/2022
| Tiêu đề: Re: Mai Anh Thư Thu Jan 05, 2023 9:44 pm | |
| Bài 43: Xác định bài toán:input: Nhập N output: Đưa ra số ước nguyên dương của N - Code:
-
from math import sqrt n = int(input()) res = 0 for i in range(1, int(sqrt(n))): if n % i == 0: res += 1 if i!= n // i: res += 1 print(res)
Test:input: 20 output: 5 | |
|
| |
Mai Anh Thư
Tổng số bài gửi : 51 Join date : 05/10/2022
| Tiêu đề: Re: Mai Anh Thư Thu Jan 05, 2023 9:48 pm | |
| Bài 46: Xác định bài toán:input: Nhập N nguyên dương output: N là số nguyên tố hoặc N không là số nguyên tố Thuật toán:Nếu N ≤ 1: N N không phải là số nguyên tố Tiếp theo ta duyệt từ 2 đến sqrt(n) Nếu N chia hết cho i, vậy đó không phải là số nguyên tố Còn lại là số nguyên tố - Code:
-
from math import sqrt def prime(u): if u <= 1: return False for i in range(2, int(sqrt(n)) + 1): if u % i == 0: return False return True n = int(input()) print(prime(n))
Test:input: 10 output: False | |
|
| |
Mai Anh Thư
Tổng số bài gửi : 51 Join date : 05/10/2022
| Tiêu đề: Re: Mai Anh Thư Thu Jan 05, 2023 9:51 pm | |
| Bài 47: Xác định bài toán:input: Nhập a,b output: Các số nguyên tố thuộc đoạn [a,b] Thuật toán:Vì bài toán phải kiểm tra tính nguyên tố nhiều lần nên ta xây dựng chương trình con dạng hàm để kiểm tra tính nguyên tố. Duyệt từ giá trị đầu đến giá trị cuối, nếu là số nguyên thì in ra. - Code:
-
from math import sqrt def prime(u): if u <= 1: return False for i in range (2, int(sqrt(n)) + 1): if u % i == 0: return False return True a = int(input()) b = int(input()) for i in range(a, b + 1): if prime(i): print(i)
Test:input: 10 20 output: 11 13 17 19 | |
|
| |
Mai Anh Thư
Tổng số bài gửi : 51 Join date : 05/10/2022
| Tiêu đề: Re: Mai Anh Thư Thu Jan 05, 2023 9:53 pm | |
| Bài 49: Xác định bài toán:input: Nhập a, b là số nguyên dương. output: Đưa ra ước chung lớn nhất của a và b. Thuật toán: B1: Xây dựng một chương trình con dạng hàm bằng cách sử dụng vòng lặp while. B2: Thực hiện câu lệnh lặp while v1 > 0 B3: Nhập giá trị của a và b. B4: In ra ước chung lớn nhất của a và b. - Code:
-
def gcd(v0, v1): while v1 > 0: r = v0 % v1 v0 = v1 v1 = r return v0 a = int (input()) b = int (input()) print (gcd(a, b))
Test a = 27, b = 36. => UCLN là 9 a = 18, b = 30 => UCLN là 6 | |
|
| |
Mai Anh Thư
Tổng số bài gửi : 51 Join date : 05/10/2022
| Tiêu đề: Re: Mai Anh Thư Thu Jan 05, 2023 9:57 pm | |
| Bài 50: [bXác định bài toán:[/b] input: Nhập số nguyên dương N output: Phân tích N thành tích các thừa số nguyên tố Thuật toán:Ta khai báo biến đếm bằng 2 rồi lấy lấy n chia cho biến đếm, mỗi lần chia lại in biến đếm ra, đến khi n không chia hết cho biến đếm nữa thì ta tăng biến đếm lên, đến khi biến đếm > sqrt(n) - Code:
-
def phan_tich(u): i = 2 while i * i <= u: if u % i == 0: print(i) u //= i else: i += 1 if u > 1: print(u) n = int(input()) phan_tich(n)
Test:input: N=40 output: 2 2 2 5 | |
|
| |
Mai Anh Thư
Tổng số bài gửi : 51 Join date : 05/10/2022
| Tiêu đề: Re: Mai Anh Thư Thu Jan 05, 2023 9:59 pm | |
| Bài 52: Xác định bài toán:input: Nhập số nguyên dương N output: Đưa ra tổng chữ số của N Thuật toán:Khai báo biến tổng = 0 Ta sử dụng vòng lặp while để thực hiện cắt số, với mỗi số cắt được ta cộng dồn vào biến tổng. - Code:
-
n = int(input()) s = 0 while n > 0: s += n % 10 n //= 10 print(s)
Test: inp: N= 678 out: 21 | |
|
| |
Mai Anh Thư
Tổng số bài gửi : 51 Join date : 05/10/2022
| Tiêu đề: Re: Mai Anh Thư Thu Jan 05, 2023 10:02 pm | |
| Bài 53: Xác định bài toán:input: Nhập số nguyên dương N output: Số nguyên tố lớn nhất thu được Xác định bài toán:Ta xây dựng chương trình con dạng hàm để kiểm tra tính nguyên tố Dùng vòng lặp while thực hiện cắt số và kiểm tra tính nguyên tố, nếu đúng thì in ra. - Code:
-
def prime(u): if u <= 1: return False i = 2 while i * i <= u: if u % i == 0: return False i += 1 return True n = int(input()) // 10 while (n > 0) and not prime(n): n //= 10 if prime(n): print(n) else: print('NONE')
Test:inp: N=3122 out: 31 | |
|
| |
Mai Anh Thư
Tổng số bài gửi : 51 Join date : 05/10/2022
| Tiêu đề: Re: Mai Anh Thư Thu Jan 05, 2023 10:04 pm | |
| Bài 54: Xác định bài toán:input: Nhập số nguyên dương N output: Đưa ra ước nguyên tố lớn nhất của N Thuật toán:Duyệt i từ n -> 0, nếu i là số nguyên tố thì in ra màn hình - Code:
-
def prime(u): if u <= 1: return False i = 2 while i * i <= u: if u % i == 0: return False i += 1 return True n = int(input()) i = n while i > 0: if prime(1) == True and n % i == 0: break i -= 1 print(i)
Test:inp: N=10 out: 5 | |
|
| |
Mai Anh Thư
Tổng số bài gửi : 51 Join date : 05/10/2022
| Tiêu đề: Re: Mai Anh Thư Thu Mar 30, 2023 11:37 pm | |
| Bài 56: Xác định bài toán:input: số nguyên dương N và dãy a1, a2,..., aN Output: liệt kê phần tử là số chẵn trong dãy Thuật toán:Nhập dãy vào dãy a[i] Duyệt từ đầu đến cuối dãy, nếu a[i] là số chẵn thì đưa phần tử đó ra, mỗi phần tử cách nhau 1 dấu cách - Code:
-
n= int(input()) a= list() for i in range (0,n): a.append(int(input())) for i in range (0,n): if a[i] % 2 == 0: print(a[i])
Test: 2 4 kq -2.000 | |
|
| |
Mai Anh Thư
Tổng số bài gửi : 51 Join date : 05/10/2022
| Tiêu đề: Re: Mai Anh Thư Thu Mar 30, 2023 11:40 pm | |
| Bài 57: Xác định bài toán:input: số nguyên dương N và dãy a1, a2,..., aN output: đưa ra vị trí các phần tử là số chính phương trong dãy Thuật toán:Số chính phương là số có căn bậc hai là một số nguyên Biểu thức toán học: căn u=[căn u] Nhập dãy vào mảng a[i] Duyệt từ đầu đến cuối dãy, nếu a[i] là số chính phương thì đưa vị trí i ra mỗi giá trị tìm được cách nhau 1 dấu cách - Code:
-
from math import sqrt from math import trunc n= int(input()) a= list() for i in range(0,n): a.append(int(input())) for i in range(0,n): if sqrt(a[i]) == int(sqrt(a[i])): print(i)
Test: N=4, dãy 3 1 4 5 Kết quả: 2 3 | |
|
| |
Mai Anh Thư
Tổng số bài gửi : 51 Join date : 05/10/2022
| Tiêu đề: Re: Mai Anh Thư Thu Mar 30, 2023 11:44 pm | |
| Bài 58: Xác định bài toán:input: số nguyên dương N và dãy a1, a2,..., aN output: đếm số lượng các phần tử trong dãy chia hết cho 2 nhưng không chia hết cho 3 Thuật toán:Nhập dãy vào mảng a[i] Res=0; Duyệt từ đầu đến cuối dãy, nếu a[i] chia hết cho 2 và không chia hết cho 3 thì tăng biến Res lên 1 đơn vị Đưa biến res ra - Code:
-
n= int(input()) a= list() for i in range (0,n): a.append(int(input())) res = 0 for i in range (0,n): if a[i] % 2 == 0 and a[i] % 3 !=0: res +=1 print(res)
Test: N=4, dãy 4 1 6 5 Kq: 1 | |
|
| |
Sponsored content
| Tiêu đề: Re: Mai Anh Thư | |
| |
|
| |
| Mai Anh Thư | |
|