Bài tập ôn thi C++ - Dạng bài: Tính mảng S
Bạn đang xem tài liệu "Bài tập ôn thi C++ - Dạng bài: Tính mảng S", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
Tóm tắt nội dung tài liệu: Bài tập ôn thi C++ - Dạng bài: Tính mảng S
Bài 4 #include using namespace std; long long n,a[100005]; long long sl; long long maxx=-1e9; int main(){ cin>>n; for (int i= 1; i>a[i]; for (int i=1; i< n; i++) { sl=0; sl = sl+a[i]; for (int j= i+1; j<= n; j++){ sl = sl+a[j]; if (maxx <sl) maxx=sl; } } cout<<maxx; } Bài 3 #include using namespace std; long long n,a[100005]; int main(){ cin>>n; for (int i= 1; i>a[i]; for (int i=1; i< n; i++) for (int j= i+1; j<= n; j++){ if((a[i]+a[j])%3==0) cout <<a[i]<<","<<a[j]<<endl; } cout<<endl; } Namth: Câu 3 làm thế này thì sao được full điểm cô? Câu 4 cũng thế. - Câu 3 mình đếm số các số chia 3 dư 0, rồi số các số chia 3 dư 1, dư 2, dựa vào đó rồi tính kết qua Khai nghiem: Tư tưởng bài 3: một số chia cho 3 dư 0 chỉ ghép được với một số chia cho 3 dư 0, một số chia 3 dư 1 chỉ ghép được với một số chia 3 dư 2( hai số có tổng chia hết cho 3). gọi các số chia cho 3 dư 0, 1, 2 lần lượt là d0, d1, d2 khi đó kết quả là kq= d0*(d0-1)/2 +d1*d2. Việc tính d0, d1, d2 chỉ cần một vòng lặp: for(i=1; i<=n; i++) { if(a[i]%3 ==0) d0++; if (a[i]%3 == 1) d1++; if(a[i]%3 ==2) d2++};
File đính kèm:
- bai_tap_on_thi_c_dang_bai_tinh_mang_s.docx