Computer >> Máy Tính >  >> Lập trình >> C ++

Tối đa bốn số mà không sử dụng toán tử có điều kiện hoặc theo bit trong C ++

Trong bài toán này, chúng ta có bốn số nguyên. Nhiệm vụ của chúng tôi là tạo chương trình aprogram để tìm tối đa bốn số mà không sử dụng toán tử theo chiều ngược chiều có điều kiện trong C ++.

Mô tả mã - Ở đây, chúng ta có bốn giá trị nguyên. Và chúng ta cần tìm giá trị lớn nhất trong số những con số này mà không cần sử dụng bất kỳ toán tử điều kiện hoặc bitwise nào.

Hãy lấy một ví dụ để hiểu vấn đề,

Đầu vào

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

Đầu ra

9

Phương pháp tiếp cận giải pháp

Để giải quyết vấn đề, chúng tôi sẽ lấy hai phần tử đầu tiên, sau đó lấy phần tử lớn hơn với cặp. Đối với mỗi cặp, chúng ta sẽ tạo 2 phần tử arr [] và tìm phần tử nào lớn hơn bằng cách sử dụng giá trị boolean. Giá trị boolean được sử dụng làm chỉ mục, được tìm thấy bằng công thức [abs (x - y) + (x - y)] .

Một lời giải thích dễ hiểu là,

Nếu arr [0] lớn hơn arr [1], giá trị boolean là Sai . khác thì nó là Đúng .

Chương trình minh họa hoạt động của giải pháp của chúng tôi,

Ví dụ

#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;
}

Đầu ra

The maximum of four numbers is 9