Cho một mảng arr [n] với n số nguyên và k số nguyên khác, nhiệm vụ là tìm tích tất cả các phần tử của arr [] chia hết cho k.
Để giải quyết vấn đề, chúng ta phải lặp lại mọi phần tử của mảng và tìm xem nó có chia hết cho số k hay không, sau đó tích tất cả các phần tử và lưu trữ nó vào một biến. Giống như chúng ta có một mảng arr [] ={1, 2, 3, 4, 5, 6} và giả sử chúng ta có k =2 vì vậy các số trong mảng chia hết cho 2 là 2, 4, 6 và tích của chúng sẽ bằng 48.
Vì vậy, hãy xem ví dụ về cách chúng tôi muốn câu trả lời của mình theo đầu vào
Đầu vào
arr[] = {10, 11, 55, 2, 6, 7}
K = 11 Đầu ra
605
Giải thích - các số chia hết cho 11 là 11 và 55 chỉ tích của chúng là 605
Đầu vào
arr[] = {9, 8, 7, 6, 3}
K = 3 Đầu ra
162
Phương pháp tiếp cận được sử dụng dưới đây như sau để giải quyết vấn đề
-
Lặp lại toàn bộ mảng cho đến cuối một mảng.
-
Hãy tìm mọi số nguyên chia hết cho K.
-
Tích mọi phần tử chia hết cho K.
-
Trả lại sản phẩm.
-
In kết quả.
Thuật toán
Start
Step 1→ declare function to find all the numbers divisible by number K
int product(int arr[], int size, int k)
declare int prod = 1
Loop For int i = 0 and i < size and i++
IF (arr[i] % k == 0)
Set prod *= arr[i]
End
End
return prod
Step 2→ In main()
Declare int arr[] = {2, 3, 4, 5, 6 }
Declare int size = sizeof(arr) / sizeof(arr[0])
Set int k = 2
Call product(arr, size, k)
Stop Ví dụ
#include <iostream>
using namespace std;
//function to find elements in an array divisible by k
int product(int arr[], int size, int k){
int prod = 1;
for (int i = 0; i < size; i++){
if (arr[i] % k == 0){
prod *= arr[i];
}
}
return prod;
}
int main(){
int arr[] = {2, 3, 4, 5, 6 };
int size = sizeof(arr) / sizeof(arr[0]);
int k = 2;
cout<<"product of elements are : "<<product(arr, size, k);
return 0;
} Đầu ra
Nếu chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -
product of elements are : 48