n개의 정수와 또 다른 정수 k가 있는 배열 arr[n]이 주어지면 작업은 k로 나눌 수 있는 arr[]의 모든 요소를 곱하는 것입니다.피>
문제를 해결하기 위해 우리는 배열의 모든 요소를 반복하고 숫자 k로 완전히 나눌 수 있는지 여부를 찾은 다음 모든 요소를 곱하여 변수에 저장해야 합니다. 배열 arr[] ={1, 2, 3, 4, 5, 6 }가 있고 k =2라고 가정하면 배열에서 2로 나눌 수 있는 숫자는 2, 4, 6이고 그 곱은 다음과 같습니다. 48과 같아야 합니다.
따라서 입력에 따라 답변을 원하는 방식의 예를 살펴보겠습니다.
입력
arr[] = {10, 11, 55, 2, 6, 7} K = 11
출력
605
설명 - 11로 나누어 떨어지는 숫자는 11이고 55는 곱만 605입니다.
입력
arr[] = {9, 8, 7, 6, 3} K = 3
출력
162
문제를 해결하기 위해 다음과 같은 접근 방식을 사용합니다.
-
배열이 끝날 때까지 전체 배열을 반복합니다.
-
K로 나눌 수 있는 모든 정수를 찾습니다.
-
K로 나눌 수 있는 모든 요소를 곱합니다.
-
제품을 반품하세요.
-
결과를 인쇄하십시오.
알고리즘
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호출
예시
#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; }
출력
위의 코드를 실행하면 다음 출력이 생성됩니다 -
product of elements are : 48