K
Khách

Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.

Ở đây mình chỉ chấp nhận một cách chia dãy thành 3 phần có tổng bằng nhau và khác rỗng.

Gọi aiai là số thứ ii trong mảng đã cho. Lưu ý rằng số thứ ii trong mảng đã cho (aiai) được đánh số i−1i−1 theo đề bài.

Ta định nghĩa một hàm f(x)f(x) (mảng cộng dồn) theo công thức truy hồi như sau:

f(x)={0 nếx=0f(x−1)+ax nếu x > 0f(x)={0 nếu x=0f(x−1)+ax nếu x > 0

Ta có thể dễ dàng tính được giá trị của f(i)f(i) với mọi 0≤in0≤i≤n trong một vòng for.

Gọi SS là tổng các phần tử trong một phần của AA sau khi tách AA thành 3 phần như đề bài đã nói. Dễ thấy, SS bằng 1313 tổng dãy AA. Mà theo định nghĩa hàm f(x)f(x) như trên, ta có S=13×f(n)S=13×f(n). Do đó, ta có thể dễ dàng tính được SS.

Việc bây giờ ta cần làm là tìm hai điểm cắt i,ji,j (1≤i<j<n1≤i<j<n) sao cho:

a1+a2+…+ai=ai+1+…+aj=aj+1+…+ana1+a2+…+ai=ai+1+…+aj=aj+1+…+an

Theo định nghĩa hàm f(x)f(x), ta có thể thấy ngay đẳng thức trên tương đương:

f(i)−f(0)=f(j)−f(i)=f(n)−f(j)=Sf(i)−f(0)=f(j)−f(i)=f(n)−f(j)=S

Từ đó ta nhận thấy cần tìm hai điểm cắt i,ji,j sao cho f(i)=Sf(i)=S và f(j)=2×Sf(j)=2×S

Công việc đến đây đã quá đơn giản do ta đã tính trước được tất cả các giá trị của f(x)f(x).

26 tháng 2

Nếu sao chép công thức =H10 + 2*K10 tại ô G10 đến ô G12 thì công thức mới sẽ là:

=H12 + 2*K12

cuộc đời sao quá bất công

nghèo thì mới có tấm lòng vị tha

giàu mà quên người sinh ra

giàu mà có nghĩa mới là đạo con

11 tháng 2

Mình đặt A = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], bạn tham khảo nhé

1) Python:

def in_so_chan(A): so_chan = [x for x in A if x % 2 == 0] print("Các số chẵn:", so_chan) A = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] in_so_chan(A)

2) Java import java.util.Arrays; import java.util.List; public class InSoChan { public static void inSoChan(List<Integer> A) { System.out.print("Các số chẵn: "); for (int x : A) { if (x % 2 == 0) { System.out.print(x + " "); } } System.out.println(); } public static void main(String[] args) { List<Integer> A = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); inSoChan(A); } }

3) C++

#include <iostream> #include <vector> using namespace std; void inSoChan(const vector<int>& A) { cout << "Các số chẵn: "; for (int x : A) { if (x % 2 == 0) { cout << x << " "; } } cout << endl; } int main() { vector<int> A = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; inSoChan(A); return 0; }