Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

นับจำนวนองค์ประกอบในอาร์เรย์ที่หารผลรวมขององค์ประกอบอื่นๆ ลงตัวใน C++

เราได้รับอาร์เรย์ของค่าจำนวนเต็ม และงานคือการคำนวณจำนวนองค์ประกอบในอาร์เรย์ที่สามารถหารผลรวมขององค์ประกอบอื่นๆ ทั้งหมดลงตัวได้

ตัวอย่าง

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

คำอธิบาย − ผลรวมของ 9+6 = 15 หารด้วย 3 ลงตัว, ผลรวมของ 9+3 = 12 หารด้วย 6 ลงตัว, และ 6+3 = 9 หารด้วย 9 ลงตัว ดังนั้นจึงนับได้ 3 ตัว

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

คำอธิบาย − 10+4+6+7 = 27 หารด้วย 3 ลงตัว, 3+4+6+7 = 20 หารด้วย 10 ลงตัว, 3+10+4+7 = 24 หารด้วย 6 ลงตัว จึงนับได้ 3 ตัว

แนวทางการแก้ปัญหา

  • สร้างอาร์เรย์ arr[]
  • คำนวณขนาดของอาร์เรย์
  • ใช้ตัวแปรนับผลลัพธ์
  • วนลูป i จาก 0 ถึงขนาดอาร์เรย์
  • ในแต่ละรอบ คำนวณผลรวมขององค์ประกอบอื่นๆ (ยกเว้น arr[i])
  • ตรวจสอบว่าผลรวมหารด้วย arr[i] ลงตัวหรือไม่ ถ้าใช่เพิ่มตัวนับ
  • คืนค่าผลลัพธ์

ตัวอย่างโค้ด C++

#include <iostream>
using namespace std;

int countElements(int arr[], int size) {
    int result = 0;
    for (int i = 0; i < size; i++) {
        int sum = 0;
        for (int j = 0; j < size; j++) {
            if (i == j) continue;
            sum += arr[j];
        }
        if (sum % arr[i] == 0) {
            result++;
        }
    }
    return result;
}

int main() {
    int arr[] = {1, 2, 3, 4, 5, 6};
    int size = sizeof(arr) / sizeof(arr[0]);
    cout << "count is " << countElements(arr, size);
    return 0;
}

ผลลัพธ์

count is 2

บทความนี้สาธิตวิธีนับจำนวนสมาชิกในอาร์เรย์ที่สามารถหารผลรวมของสมาชิกอื่นๆ ลงตัว โดยใช้ลูปซ้อนเพื่อคำนวณผลรวมและตรวจสอบเงื่อนไขการหารลงตัว