Viết chương trình nhập vào từ bàn phím đường kính của một hình tròn. Tính và đưa ra màn hình chu vi và diện tích của hình tròn đó.Viết ct bằng Python
Viết chương trình nhập vào từ bàn phím đường kính của một hình tròn. Tính và đưa ra màn hình chu vi và diện tích của hình tròn đó.Viết ct bằng Python
BT1: Cho số nguyên n, dãy số a1, a2, …, an. Dùng vector a/ Tính số lượng các chẵn trong dãy. b/ tính tổng các số nguyên tố trong dãy. (ghi code c++ giúp mình với ạ)
TUVUNG - TỪ VỰNG
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 128 megabyte
Uyên viết ra một xâu S có độ dài không quá 106 chỉ gồm các kí tự thường trong bảng chữ cái tiếng Anh. Một từ vựng là một từ thu được bằng cách sao chép một đoạn kí tự liên tiếp từ xâu S thoả mãn một trong hai điều kiện:
- Bắt đầu bằng một nguyên âm (a, e, i, o, u), kết thúc bằng một phụ âm
- bắt đầu bằng một phụ âm và kết thúc là một nguyên âm.
Yêu cầu: Giúp Uyên đếm số lượng từ vựng có trong S theo quy tắc trên.
Dữ liệu nhập:
- Gồm một xâu S.
Kết quả:
- in ra một số duy nhất là kết quả tìm được.
Ràng buộc:
- 1/3 số test: Xâu S dài không quá 104.
Ví dụ
input
adceba
output
9
Lưu ý:
- Đây không phải là test chấm chính thức của BTC.
DPRCCOI - ĐỔI TIỀN
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 128 megabyte
Ở AnLuuLand họ có một hệ thống tiền tệ rất kỳ lạ. Mỗi đồng tiền vàng của AnLuuLand có một số nguyên được viết trên đó. Một đồng n có thể được trao đổi trong ngân hàng thành ba đồng tiền: n div 2, n div 3 và n div 4.
Bạn cũng có thể đổi tiền AnLuuLand thành đô la Mỹ. Tỷ giá hối đoái là 1:1. Nhưng bạn không thể mua tiền AnLuuLand.
Bạn có đồng vàng ghi số n. Số đô la Mỹ tối đa bạn có thể đổi được là bao nhiêu?
Dữ liệu nhập:
- Dữ liệu nhập: sẽ chứa một số trường hợp thử nghiệm (không quá 10).
- Mỗi testcase là một dòng duy nhất có số n (0 ≤ n ≤ 109). Đó là số được viết trên đồng tiền của bạn.
Kết quả:
- Đối với mỗi trường hợp thử nghiệm xuất ra một dòng duy nhất, chứa số đô la Mỹ tối đa bạn có thể kiếm được.
Ví dụ
input
0
1
2
3
4
5
12
32
12345
7985
1000000000
output
0
1
2
3
4
5
13
35
21629
13137
4243218150
Chú thích:
- Bạn có thể thay đổi 12 thành 6, 4 và 3, sau đó đổi chúng thành $6 + $4 + $3 = $13.
- Nếu bạn thử đổi xu 2 thành 3 đồng xu nhỏ hơn, bạn sẽ nhận được 1, 0 và 0, và sau đó bạn có thể nhận được không quá 1 đô la trong số đó. Tốt hơn là chỉ cần thay đổi 2 đồng tiền trực tiếp thành 2 đô la.
def exchange(n, memo):
if n in memo:
return memo[n]
if n == 0:
return 0
max_exchange = max(n, exchange(n // 2, memo) + exchange(n // 3, memo) + exchange(n // 4, memo))
memo[n] = max_exchange
return max_exchange
while True:
try:
n = int(input())
memo = {}
print(exchange(n, memo))
except:
break
GRETRAINS - SẮP XẾP TÀU
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 128 megabyte
Một tuyến đường sắt dài vô tận có một đoàn tàu gồm n toa tàu được đánh số từ 1 đến n (số của tất cả các toa là khác biệt) và được định vị theo thứ tự tùy ý. Huy muốn sắp xếp chiếc xe lửa theo thứ tự tăng dần của các toa tàu.
Trong một lần di chuyển, anh ta có thể làm cho một trong những toa tàu biến mất khỏi vị trí của nó và dịch chuyển nó đến đầu tàu, hoặc đến cuối tàu theo mong muốn của anh ta. Số lượng hành động tối thiểu Huy cần thực hiện để sắp xếp tàu là bao nhiêu?
Dữ liệu nhập:
- Dòng đầu tiên của đầu vào chứa số nguyên n (1 ≤ n ≤ 100 000 ) - số lượng toa tàu trong xe lửa.
- Dòng thứ hai chứa n số nguyên pi ( 1 ≤ pi ≤ n , pi ≠ pj nếu i ≠ j ) - dãy số của các toa tàu trong tàu.
Kết quả:
- in một số nguyên duy nhất - số lượng hành động tối thiểu cần thiết để sắp xếp các toa xe lửa.
Ví dụ
input
5
4 1 2 5 3
output
2
input
4
4 1 3 2
output
2
```python
n = int(input())
p = list(map(int, input().split()))
pos = [0] * n
for i in range(n):
pos[p[i]-1] = i
count = 0
for i in range(n):
if pos[i] != i:
j = pos[i]
pos[i], pos[j] = pos[j], pos[i]
count += 1
print(count)
```
Xét dãy số thực B1, B2, … Bn (3 < n < 35). Số Bi (1≤i≤N) được gọi là Cực tiểu địa phương nếu thỏa mãn:
- Nếu i = 1 thì B1 < B2
- Nếu i = N thì Bn < Bn-1
- Còn lại thì Bi < Bi-1 và Bi < Bi+1
Lập trình nhập vào dãy số B và thông báo ra màn hình số lượng các cực tiểu địa phương trong dãy B.
Ví dụ
input
5
1 3 2 4 6
output
2
input
3
3 2 1
output
1
#include <bits/stdc++.h>
#define FOR(i, l, r) for(int i = l; i <= r; i++)
#define REP(i, l, r) for(int i = l; i < r; i++)
using namespace std;
int n;
double a[100005];
long long res, x, y;
int main()
{
cin >> n;
FOR(i, 1, n) {
cin >> a[i];
}
a[0] = a[n+1] = 2e9;
FOR(i, 1, n) if (a[i] < a[i-1] && a[i] < a[i+1]) res++;
cout << res;
}
Dãy con của một dãy là dãy có thể đạt được bằng cách xoá đi một số phần tử trong dãy ban đầu. Dãy rỗng và dãy ban đầu cũng là dãy con của dãy ban đầu. Bài toán tìm một dãy con tăng dài nhất trong một tập các phần tử là tìm một dãy con của dãy ban đầu sao cho trong dãy con này phần tử đứng sau lớn hơn hẵn phần tử đứng trước. Dãy con này không cần thiết phải liền kề, hoặc là duy nhất.
Bài toán dãy con tăng dài nhất được áp dụng rộng rãi ở nhiều lĩnh vực: Toán học (thuật toán, lý thuyết ma trận, lý thuyết đại diện) hay Vật Lý. Trong bài tập này nhiệm vụ của bạn cần thực hiện là viết chương trình nhận đầu vào là một dãy số nguyên có N phần tử A1, A2, ..., An, tìm dãy con tăng dài nhất của dãy đã cho.
Dữ liệu nhập:
- Dòng đầu tiên là số nguyên dương N (1 ≤ N ≤ 5.000)
- Dòng thứ hai chứa N số nguyên thuộc dãy A. (|Ai| ≤ 109 Với i=1..N)
Kết quả:
- Ghi ra một số nguyên là độ dài dãy con tăng dài nhất tìm được.
Ví dụ
input
5
1 1 3 4 1
output
3
Giúp ạ
n = int(input())
a = list(map(int, input().split()))
dp = [a[0]]
for i in range(1, n):
left, right = 0, len(dp) - 1
pos = len(dp)
while left <= right:
mid = (left + right) // 2
if dp[mid] < a[i]:
left = mid + 1
else:
pos = mid
right = mid - 1
if pos == len(dp):
dp.append(a[i])
else:
dp[pos] = a[i]
print(len(dp))
Viết hàm với đầu vào là list A gồm các số nguyên. Hàm cần trả về list B thu được từ list A bằng cách chỉ lấy các phần tử có giá trị chẵn.
Xác định lỗi và sửa lỗi cho đoạn chương trình sau: Câu 1: A = [3,-9,1,-4,15,7] Câu 2: for i in range(len(A)) Câu 3: if A[i] %2!=0: Câu 4: S = S + A[i] Câu 5: print(S)
NameError: name 'S' is not defined Câu 4
SyntaxError: expected ':' Câu 2
A=[3,-9,1,-4,15,7]
S=0
for i in range(len(A)):
if A[i]%2!=0 :
S=S+A[i]
print(S)
Viết hàm với đầu vào là list A gồm các số nguyên. Hàm cần trả về list B thu được từ list A bằng cách chỉ lấy các phần tử có giá trị lẻ