30/09/2018, 16:41

C++ bài toán về mảng

Hiện tại em có 1 đề như sau và đang thắc mắc ở chỗ cộng dồn N phần tử vào T và các điều kiện kéo theo
. Cái gạch đầu dòng thứ 5, mong mọi người thông não và giải thích hộ em cái đề :

Sử dụng hàm để viết chương trình thực hiện công việc sau:

  • Khai báo dãy a gồm 100 số nguyên và hai biến nguyên N, M.
  • Nhập giá trị cho N, kiểm tra 0 < N <=100. Nếu không thoả, yêu cầu người dùng nhập lại.
  • Nhập tiếp vào N số nguyên, chứa vào dãy a từ phần tử a[0] đến a[N-1].
  • Nhập giá trị cho M, kiểm tra 2 <= M <= 5. Nếu không thoả, yêu cầu người dùng nhập lại.
  • Cộng dồn N phần tử đã nhập của dãy a, chứa vào một biến T. Tuy nhiên nếu a[i] chia hết
    cho M, các phần tử a[i+1], a[i+2], a[i+3],…, a[i+M-1] sẽ không được cộng dồn vào T. Khi
    a[i] chia hết cho M, không cần kiểm tra các giá trị a[i+1], a[i+2], a[i+3],…, a[i+M-1] có
    chia hết cho M hay không.
  • In giá trị T ra màn hình
lê tuấn anh viết 18:53 ngày 30/09/2018

Nghĩa là cho i chạy từ 0 đến N-1, T = T+ a[i], nếu a[i] chia hết cho M thì bỏ qua các giá trị từ a[i+1] đến a[i+M-1], tiếp tục cho i chạy từ i+M và lại kiểm tra tính chia hết…
Đại loại sẽ ntn:

T=0;
for(int i =0; i < N; i++) 
{  
        T += a[i];  
        if( (a[i] %M) == 0 ) i += M; 
 }
Bài liên quan
0