이 문제에서는 n개의 양수 요소로 구성된 배열 arr[]이 제공됩니다. 우리의 임무는 관계 연산자를 사용하지 않고 배열에서 최소값을 찾는 것입니다.
프로그래밍에서 관계 연산자는 두 값 간의 관계를 확인하는 데 사용되는 연산자입니다. ==(같음), 보다 큼(>), 보다 작음(<) 등
문제를 이해하기 위해 예를 들어보겠습니다.
입력
arr[] = {4, 2, 5, 1, 7}
출력
1
설명
The smallest element is 1.
해결 방법
문제를 해결하는 간단한 방법은 루프를 사용하고 배열의 모든 요소에서 최소 요소를 확인하는 것입니다. 주어진 두 요소 사이의 최소 요소를 찾기 위해 둘 다 1로 줄였을 때 어떤 요소가 먼저 0이 되는지 비교할 수 있습니다.
우리 솔루션의 작동을 설명하는 프로그램
예
#include <iostream> using namespace std; int findMin(int a, int b) { int minVal = 0; while (a && b) { minVal++; a--; b--; } return minVal; } int findMinimumElement(int arr[], int n) { int minVal = arr[0]; int i = (n - 1) ; while(i){ minVal = findMin(minVal, arr[i]); i--; } return minVal; } int main() { int arr[] = {4, 2, 5, 1, 7}; int n = sizeof(arr) / sizeof(arr[0]); cout<<"The minimum element is "<<findMinimumElement(arr, n); return 0; }
출력
The minimum element is 1