Среди приведённых ниже трёх чисел, записанных в различных системах счисления, найдите
минимальное и запишите его в ответе в десятичной системе счисления. В ответе запишите только
число, основание системы счисления указывать не нужно.
4116, 778, 10000102
#include <iostream>
using namespace std;
class Set {
int N, counter = 0;
float A, B;
public:
Set(int N, float A, float B) {
this->N = N;
this->A = A;
this->B = B;
}
void Count() {
for (int i = 0; i < N; i++) {
float x;
cin >> x;
if (A <= x && x <= B)
counter++;
}
cout << "Count = " << counter << endl;
}
};
signed main()
{
setlocale(LC_ALL, "Rus");
int N;
float A, B;
cout << "Введите число элементов: (N) ";
cin >> N;
cout << "\nВведите числа A и B: ";
cin >> A >> B;
Set m(N, A, B);
m.Count();
return 0;
}
a, b, c, d = float(input()), float(input()), float(input()), float(input())
array = [a, b, c, d] #Создаём массив, состоящий из 4 действительных чисел
FracPart = [a%1, b%1, c%1, d%1] #Создаём отдельный массив, состоящий из дробных частей исходных чисел
minimal = abs(min(FracPart)) #Переменной minimal присваиваем минимальное абсолютное значение между дробными частями
print('\nThe fractional part with the minimum absolute value is: ', round(minimal, 4))
"""Так как остаток от деления не целое число, то в цикле — переменную minimal мы округлим,
чтобы неточность перевода двоичного
в десятичный была не так уродлива.
"""
for i in range (len(array)):
#Из за этого нужно также округлить array[i], чтобы значения и вправду были друг другу равны, а не примерно
if round(array[i]%1, 4) == round(minimal, 4):
minFrPart = array[i] #В этой переменной хранится число, с минимальной дробной частью
print('The number with the minimum value of the fractional part among others is: ', minFrPart)
break