n개의 정수로 구성된 배열 arr[n]이 주어지면 작업은 모든 쌍으로 연속되는 요소의 곱을 찾는 것입니다.
배열 arr[]의 연속 요소는 i번째 요소, 즉 arr[i]에 있는 경우 연속 요소는 arr[i+1] 또는 arr[i-1]이므로 곱은 arr[ i] * arr[i+1] 또는 arr[i] * arr[i-1].
입력
arr[] = {1, 2, 3, 4} 출력
2, 6, 12
설명
Splitting into pairs {1,2}, {2, 3}, {3, 4}
Their results will be 1*2 = 2, 2*3 = 6, 3*4 = 12 입력
arr[] = {9, 5, 1, 2, 6, 10} 출력
45, 5, 2, 12, 60
설명
Splitting into pairs {9, 5}, {5, 1}, {1, 2}, {2, 6}, {6, 10}
Their results will be 9*5 = 45, 5*1 = 5, 1*2 = 2, 2*6=12, 6*10=60 아래에 사용된 접근 방식은 문제를 해결하기 위해 다음과 같습니다. -
-
n-1보다 작아질 때까지 배열의 0번째 요소에서 루프를 시작합니다.
-
i+1을 확인할 때마다 i 및 i+1마다 결과가 인쇄됩니다.
알고리즘
Start
Step 1→ Declare function to calculate product of consecutive elements
void product(int arr[], int size)
Declare int product = 1
Loop For int i = 0 and i < size – 1 and i++
Set product = arr[i] * arr[i + 1]
Print product
End
Step 2 → In main()
Declare int arr[] = {2, 4, 6, 8, 10, 12, 14 }
Declare int size = sizeof(arr) / sizeof(arr[0])
Call product(arr, size)
Stop 예시
#include <iostream>
using namespace std;
//functio to find the product of consecutive pairs
void product(int arr[], int size){
int product = 1;
for (int i = 0; i < size - 1; i++){
product = arr[i] * arr[i + 1];
printf("%d ", product);
}
}
int main(){
int arr[] = {2, 4, 6, 8, 10, 12, 14 };
int size = sizeof(arr) / sizeof(arr[0]);
printf("product is : ");
product(arr, size);
return 0;
} 출력
위의 코드를 실행하면 다음 출력이 생성됩니다 -
product is : 8 24 48 80 120 168