[CPP T9 WEEKLY CONTEST ]. TEST 5. MẢNG 1 CHIỀU CƠ BẢN, LÝ THUYẾT SỐ, TOÁN HỌC
[Lý Thuyết Mảng 1 Chiều]. Bài 11. Số lớn hơn và nhỏ hơn
Nộp bàiPoint: 100
Cho mảng A[] gồm N phần tử, đối với mỗi phần tử trong mảng bạn hãy in ra 2 số, số thứ 1 là số lượng các phần tử đứng trước phần tử này và lớn hơn nó, số thứ 2 là số lượng các phần tử đứng sau phần tử này và nhỏ hơn nó.
Ví dụ A[] = {3, 2, 1, 9, 5, 4, 3, 7, 2} thì đối với phần tử 5 ta cần in 1 và 3.
Đầu vào
Dòng 1 là N : số phần tử trong mảng
Dòng 2 là N số viết cách nhau 1 dấu cách
Giới hạn
1≤N≤10^3
0≤A[i] ≤10^6
Đầu ra
In ra kết quả cho từng phần tử A[i] trong mảng trên từng dòng.
Ví dụ :
Input 01
6
8 4 5 6 1 2
Output 01
0 5
1 2
1 2
1 2
4 0
4 0
[Lý Thuyết Mảng 1 Chiều]. Bài 12. Ước chung lớn nhất của 2 số trong mảng
Nộp bàiPoint: 100
Cho mảng A[] gồm N phần tử, bạn hãy tìm số X lớn nhất sao cho X là ước chung của ít nhất 2 phần tử trong mảng.
Ví dụ A[] = {3, 6, 9, 2, 8, 10, 27} thì số X lớn nhất chính là 9 vì nó là ước chung của 2 số 9 và 27 đồng thời có giá trị lớn nhất.
Đầu vào
Dòng 1 là N : số phần tử trong mảng
Dòng 2 là N số viết cách nhau 1 dấu cách
Giới hạn
2≤N≤10^3
0≤A[i] ≤10^6
Đầu ra
In ra đáp án của bài toán
Ví dụ :
Input 01
3
2 1 5
Output 01
1
Input 02
4
4 4 10 15
Output 02
5
[Lý Thuyết Mảng 1 Chiều]. Bài 13. Lật ngược mảng không biết trước số lượng phần tử
Nộp bàiPoint: 100
Cho 1 loạt các số nguyên không biết trước số lượng phần tử, bạn hãy in ra các số trong input theo thứ tự ngược lại.
Hướng dẫn cách nhập các số không biết trước số lượng phần tử
int x;
while(cin >> x){
//xử lý x nhập được
}
Bài này các bạn cần tạo 1 cái mảng, sau đó trong vòng while mỗi lần nhập được 1 số thì lưu nó vào a[n] sau đó tăng n lên, với n được khởi tạo ban đầu bằng 0. Vậy thì sau vòng while n sẽ là số lượng phần tử trong mảng luôn.
Đầu vào
Gồm nhiều dòng, mỗi dòng gồm nhiều số
Giới hạn
Các số là số int và không có quá 50000 số trong đầu vào.
Đầu ra
In ra các số được nhập trong input theo thứ tự ngược lại.
Ví dụ :
Input 01
3
2 1 5
2 2 2
3 3
Output 01
3 3 2 2 2 5 1 2 3
[Lý Thuyết Mảng 1 Chiều]. Bài 14. Tần suất chữ số
Nộp bàiPoint: 100
Cho mảng A[] gồm N phần tử, bạn hãy tách và đếm xem mỗi chữ số của các số trong mảng A[] xuất hiện bao nhiêu lần.
Ví dụ A[] = {3333, 222, 10001, 5} thì số 0 xuất hiện 3 lần, 1 xuất hiện 2 lần, 2 xuất hiện 3 lần, 3 xuất hiện 4 lần và 5 xuất hiện 1 lần.
Đầu vào
Dòng 1 là N : số phần tử trong mảng
Dòng 2 là N số viết cách nhau 1 dấu cách
Giới hạn
1≤N≤10^3
0≤A[i] ≤10^18
Đầu ra
In ra các chữ số xuất hiện trong các số trong mảng A[] theo thứ tự tăng dần, số nào không xuất hiện thì không cần phải in.
Ví dụ :
Input 01
5
2 1 5 0 1000
Output 01
0 4
1 2
2 1
5 1
[Lý Thuyết Mảng 1 Chiều]. Bài 15. Nguyên âm và phụ âm
Nộp bàiPoint: 100
Cho mảng A[] gồm N ký tự, bạn hãy in ra các là nguyên âm theo thứ tự xuất hiện, các phụ âm bạn cần in theo thứ tự ngược với thứ tự xuất hiện. Biết rằng nguyên âm gồm các chữ cái 'u', 'e', 'o', 'a', 'i' ở dạng in hoa hoặc in thường. Ở đây các ký tự xuất hiện có thể là chữ cái in hoa hoặc in thường, nhưng khi in ra bạn cần phải in ra ở dạng in thường. Ngoài ra nguyên âm là chữ hoa hay chữ thường thì đều được coi là nguyên âm.
Đầu vào
Dòng 1 là N : số phần tử trong mảng
Dòng 2 là N ký tự viết cách nhau 1 dấu cách
Giới hạn
1≤N≤10^3
Đầu ra
Dòng 1 in ra các nguyên âm theo thứ tự xuất hiện
Dòng 2 in ra các phụ âm theo thứ tự ngược với thứ tự xuất hiện
Ví dụ :
Input 01
10
h a i t a m T E C H
Output 01
a i a e
h c t m t h
[Tham Lam]. Bài 49. Mảng bằng nhau
Nộp bàiPoint: 200
28Tech định nghĩa 2 mảng bằng nhau là 2 mảng mà tích các phần tử trong 2 mảng này bằng nhau. Cho 2 mảng A[], B[] gồm N, M phần tử, bạn hãy xác định xem mảng A[], B[] có bằng nhau hay không, nếu có in 28tech, ngược lại in ra 29tech.
Đầu vào
Dòng 1 là N và M
Dòng 2 gồm N số trong mảng A[]
Dòng 3 gồm M số trong mảng B[]
Giới hạn
1<=N,M<=10^5
1<=A[i],B[i]<=6.10^18
Đầu ra
In ra 28tech hoặc 29tech theo yêu cầu
Ví dụ :
Input 01
2 3
9 3
3 3 3
Output 01
28tech
Trailing zeros of array
Nộp bàiPoint: 200
Cho mảng A[] gồm N phần tử, gọi X là tích các phần tử trong mảng A[], bạn hãy xác định xem X có bao nhiêu chữ số 0 liên tiếp tính từ chữ số cuối cùng của X.
Ví dụ A = [2, 5, 10, 3, 1, 2], X = 600 sẽ có 2 chữ số 0 tận cùng tính từ cuối
Gợi ý : Tương tự như bài trailing zero, bạn cần phần tích thừa số nguyên tố của từng số trong mảng A[] để đếm số lần xuất hiện của số 2 và 5
Đầu vào
Dòng 1 là N
Dòng 2 gồm N số trong mảng A[]
Giới hạn
1<=N,M<=10^6
0<=A[i]<=10^6
Đầu ra
In ra đáp án của bài toán
Ví dụ :
Input 01
6
2 5 10 3 1 2
Output 01
2
Lũy thừa dãy số
Nộp bàiPoint: 200
Cho mảng A[] và B[] đều có N phần tử, Bạn hãy tính kết quả của biểu thức (A[0]^B[0] + A[1]^B[1] + A[2]^B[2] + ... + A[N-1]^B[N-1]) % 1000000007
Đầu vào
Dòng 1 là N : số lượng phần tử trong mảng
Dòng 2 gồm N số trong mảng A[]
Dòng 3 gồm N số trong mảng B[]
Giới hạn
1<=N<=10^6
0<=A[i],B[i]<=10^9
Đầu ra
In ra kết quả của bài toán sau khi chia dư cho 1e9 + 7
Ví dụ :
Input 01
3
1 2 3
2 2 1
Output 01
8