Computer >> Máy Tính >  >> Lập trình >> C ++

Đếm các phần tử mảng chia tổng của tất cả các phần tử khác trong C ++

Chúng ta được cung cấp cho một mảng, giả sử arr [] các giá trị nguyên và nhiệm vụ là tính số lượng các phần tử của mảng chia cho tổng của tất cả các phần tử khác.

Mảng là một loại cấu trúc dữ liệu có thể lưu trữ một tập hợp tuần tự có kích thước cố định của các phần tử cùng kiểu. Mảng được sử dụng để lưu trữ một tập hợp dữ liệu, nhưng thường hữu ích hơn nếu coi một mảng là một tập hợp các biến cùng kiểu.

Ví dụ

Input − int arr_1[] = {9, 6, 3}
Output − count is 3

Giải thích - Là tổng các phần tử 9 + 6 =15 chia hết cho 3, tổng các phần tử 9 + 3 =12 chia hết cho 6 và 6 + 3 =9 chia hết cho 9. Do đó, tính là 3.

Input − arr[] = {3, 10, 4, 6, 7}
Output − count is 3

Giải thích - Là tổng các phần tử 10 + 4 + 6 + 7 =27 chia hết cho 3, tổng các phần tử 3 + 4 + 6 + 7 =20 chia hết cho 10 và 3 + 10 + 4 + 7 =24 là chia hết cho 6. Do đó, số đếm là 3.

Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau

  • Tạo một mảng, giả sử arr []

  • Tính độ dài của mảng bằng cách sử dụng hàm length () sẽ trả về giá trị nguyên theo các phần tử trong mảng.

  • Lấy một biến tạm thời sẽ lưu trữ số lượng phần tử.

  • Bắt đầu vòng lặp cho tôi đến 0 và tôi nhỏ hơn kích thước của mảng

  • Trong vòng lặp, hãy đặt biến tạm thời let’s say temp thành 0

  • Bên trong vòng lặp, hãy bắt đầu một vòng lặp khác cho j đến 0 và j nhỏ hơn kích thước của một mảng

  • Kiểm tra xem i =j rồi tiếp tục

  • Khác, đặt temp =temp + arr [j]

  • Bây giờ, hãy kiểm tra xem temp% arr [i] =0 rồi tăng giá trị của bộ đếm lên 1

  • Trả lại số lượng

  • In kết quả.

Ví dụ

#include <iostream>
using namespace std;
int countelements( int arr_1[], int size){
   // To store the count of required numbers
   int result = 0;
   for (int i = 0; i < size; i++){
      // Initialize sum to 0
      int sum = 0;
      for (int j = 0; j < size; j++){
         if (i == j){
            continue;
         }
         else{
            sum += arr_1[j];
         }
      }
      // If sum is divisible by the chosen element
      if (sum % arr_1[i] == 0){
         result++;
      }
   }
   // Return the count
   return result;
}
// main function
int main(){
   int arr_1[] = { 1, 2, 3, 4, 5, 6 };
   int size = sizeof(arr_1) / sizeof(arr_1[0]);
   cout <<"count is " <<countelements(arr_1, size);
   return 0;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, chúng ta sẽ nhận được kết quả sau -

Số lượng
count is 2