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

นับตัวหารของผลคูณอาร์เรย์ใน C++

เราได้รับอาร์เรย์ ให้เรียกว่า arr[] ขององค์ประกอบจำนวนเต็มขนาดใดๆ และงานคือคำนวณจำนวนตัวหาร (factors) ของตัวเลขที่คำนวณได้จากการคูณองค์ประกอบทั้งหมดในอาร์เรย์

Arrays เป็นโครงสร้างข้อมูลที่เก็บชุดลำดับขนาดคงที่ขององค์ประกอบชนิดเดียวกัน An array ใช้เก็บชุดข้อมูล แต่บ่อยครั้งมีประโยชน์มากกว่าคิดว่าอาร์เรย์เป็นชุดตัวแปรชนิดเดียวกัน

ตัวอย่าง

อินพุต – int arr[] = {2, 3} เอาต์พุต – count is 4

คำอธิบาย – ผลคูณของอาร์เรย์คือ 2 * 3 = 6 และตัวหารของ 6 คือ 1, 2, 3, 6 รวมทั้งหมด 4 ตัวหาร

อินพุต – int arr[] = {2, 3, 5} เอาต์พุต – count is 8

คำอธิบาย – ผลคูณของอาร์เรย์คือ 2 * 3 * 5 = 30 และตัวหารของ 30 คือ 1, 2, 3, 5, 6, 10, 15, 30 รวมทั้งหมด 8 ตัวหาร

วิธีการที่ใช้ในโปรแกรมด้านล่าง

  • สร้างอาร์เรย์ arr[]
  • คำนวณความยาวของอาร์เรย์ด้วย length()
  • ประกาศตัวแปรชั่วคราว ให้เป็น temp ตั้งค่าเป็น 1
  • เริ่มลูป for i จาก 0 ถึง i น้อยกว่าขนาดอาร์เรย์
  • ตั้งค่า temp = temp *= arr[i]
  • เรียกฟังก์ชันอีกตัวที่จะคืนค่าจำนวน
  • ใช้ตัวแปรชั่วคราวเก็บจำนวนองค์ประกอบ
  • เริ่มลูป for i จาก 1 ถึง i น้อยกว่าหรือเท่ากับ mul
  • ในลูป ตรวจสอบ if temp % i == 0 แล้วเพิ่มค่า count ขึ้น 1
  • คืนค่า count
  • พิมพ์ผลลัพธ์

ตัวอย่าง

#include <iostream>
using namespace std;

int divisors(int N){
    int result = 0;
    for (int i = 1; i <= N; ++i){
        if (N % i == 0){
            result++;
        }
    }
    return result;
}

int countmultiples(int arr_1[], int size){
    int temp = 1;
    for (int i = 0; i < size; ++i){
        temp *= arr_1[i];
    }
    return divisors(temp);
}

int main(){
    int arr_1[] = { 5, 10, 15 };
    int size = sizeof(arr_1) / sizeof(arr_1[0]);
    cout << "count is " << countmultiples(arr_1, size);
    return 0;
}

เอาต์พุต

count is 16