Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 조건부 또는 비트 연산자를 사용하지 않고 최대 4개의 숫자

<시간/>

이 문제에서는 4개의 정수가 제공됩니다. 우리의 임무는 C++에서 조건부 궤도 연산자를 사용하지 않고 최대 4개의 숫자를 찾는 프로그램을 만드는 것입니다.

코드 설명 − 여기에 4개의 정수 값이 있습니다. 그리고 조건부 또는 비트 연산자를 사용하지 않고 이 숫자에서 최대값을 찾아야 합니다.

문제를 이해하기 위해 예를 들어보겠습니다.

입력

a = 4, b = 7, c = 1, d = 9

출력

9

솔루션 접근 방식

문제를 해결하기 위해 먼저 두 개의 요소를 취한 다음 쌍으로 더 큰 요소를 취합니다. 각 쌍에 대해 2개의 요소 arr[]를 만들고 부울 값을 사용하여 더 큰 요소를 찾습니다. 부울 값은 [abs(x - y) + (x - y)] 공식을 사용하여 찾은 인덱스로 사용됩니다. .

쉬운 설명은

arr[0]이 arr[1]보다 크면 부울 값은 False입니다. . 그렇지 않으면 입니다. .

우리 솔루션의 작동을 설명하는 프로그램

예시

#include <iostream>
using namespace std;
int findMax(int x, int y){
   int arr[2] = {x,y};
   bool MaxIndex = ( !(arr[0] - arr[1] + abs(arr[0] - arr[1])));
   return arr[MaxIndex];
}
int CalcMaxElement(int a, int b, int c, int d) {
   int max = a;
   max = findMax(max, b);
   max = findMax(max, c);
   max = findMax(max, d);
   return max;
}
int main() {
   int a = 4, b = 9, c = 7, d = 1;
   cout<<"The maximum of four numbers is "<<CalcMaxElement(a,b,c,d);
   return 0;
}

출력

The maximum of four numbers is 9