#include <vector>
#include <iostream>
using namespace std;
class Solution {
public:
int subtractProductAndSum(int n) {
int sum = 0;
int product = 1;
while (n) {
int digit = n % 10;
sum += digit;
product *= digit;
n /= 10;
}
return product - sum;
}
// implement binary search by iterators
bool binarySearch(vector<int> v, int des_val)
{
auto left = v.begin(), right = v.end() - 1; // left and right iterators
auto middle = left + (right - left) / 2; // middle iterator
while (middle != right && (*middle) != des_val) {
if (des_val < *middle) {
right = middle -1;
} else {
left = middle + 1;
}
middle = left + (right - left) / 2;
}
if ((*middle) == des_val) {
return true;
} else {
return false;
}
}
};
int main()
{
// test binarySearch in Solution by
vector<int> v = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
Solution s;
// check out whether the value of 5 is in the vector or not
if (s.binarySearch(v, 5)) {
cout << "5 is in the vector" << endl;
} else {
cout << "5 is not in the vector" << endl;
}
// check out whether the value of 11 is in the vector or not
if (s.binarySearch(v, 11)) {
cout << "11 is in the vector" << endl;
} else {
cout << "11 is not in the vector" << endl;
}
return 0;
}