Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++로 배열 요소 전체 곱하기: 초보자를 위한 완벽 가이드

정수형 배열이 주어졌을 때, 배열에 포함된 모든 요소를 곱한 결과를 계산하여 화면에 출력하는 것이 이 프로그램의 목표입니다.

예시

입력-: arr[]={1,2,3,4,5,6,7}
출력-: 1 x 2 x 3 x 4 x 5 x 6 x 7 = 5040

입력-: arr[]={3,4,6,2,7,8,4}
출력-: 3 x 4 x 6 x 2 x 7 x 8 x 4 = 32256

해결 접근 방식

아래 프로그램에서 사용하는 핵심 로직은 다음과 같습니다.

  • 최종 결과를 저장할 임시 변수(temp)를 선언하고 1로 초기화합니다.
  • 배열의 크기 n만큼 반복문을 실행합니다(인덱스 0부터 n-1까지).
  • 반복문 안에서 temp 값에 arr[i]를 계속 곱해 나갑니다.
  • 반복이 끝나면 temp에 저장된 값을 출력합니다. 이것이 바로 모든 요소의 곱입니다.

알고리즘

Start
Step 1-> 배열 요소 곱셈을 위한 함수 선언
    int multiply(int arr[], int len)
        정수 i와 temp=1 설정
        For 루프: i=0부터 i main() 함수에서
    int arr[]={1,2,3,4,5,6,7} 선언
    int len = sizeof(arr)/sizeof(arr[0]) 설정
    int value = multiply(arr,len) 호출
    value 출력
Stop

C++ 코드 예제

다음은 입력값들을 곱하여 원하는 결과를 생성하는 실제 코드 예제입니다.

#include<stdio.h>
// 곱셈 함수
int multiply(int arr[], int len) {
    int i,temp=1;
    for(i=0;i<len;i++) {
        temp=temp*arr[i];
    }
    return temp;
}
int main() {
    int arr[]={1,2,3,4,5,6,7};
    int len=sizeof(arr)/sizeof(arr[0]);
    int value = multiply(arr,len);
    printf("value of array elements after multiplication : %d",value);
    return 0;
}

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

value of array elements after multiplication : 5040

추가 설명

이 알고리즘의 시간 복잡도는 O(n)으로, 배열의 길이에 비례하여 한 번씩 순회하면서 곱셈을 수행하기 때문에 매우 효율적입니다. 공간 복잡도 역시 추가 변수 하나만 사용하므로 O(1)입니다.

참고로, 배열 요소가 많거나 값이 클 경우 곱셈 결과가 int 범위(약 ±21억)를 초과할 수 있습니다. 이런 경우에는 long long 타입을 사용하거나 오버플로우 처리를 고려하는 것이 좋습니다.