1321
Объяснение:
Число 2^900 в двоичном виде - это единица с девятьюстами нулями.
Число 7 - это 2^2+2^1+2^0
2^900-2^0=2^900-1=2^899 (в двоичном виде - это 900 единиц)
2^2+2+1 в двоичном виде выглядит как 110.
Операция 2^899-2^2-2^1 в двоичном виде представляет из себя замену предпоследних, 898-й и 899-й единиц на 0. Число в двоичном виде будет выглядеть как 897 единиц, затем два нуля, затем единица.
Значащих нулей в числе 2^900-7 рано двум.
8^740=(2^3)^740=2^(740*3)=2^2220
Число 2^2220 в двоичном виде - это единица с двумя тысячами двести двадцатью нулями.
2220-900+1=1321 То есть при сложении, число 2^900-7 записывается в числе 2^2220 начиная с 1321-го разряда.
Искомое число 8^740+2^900-7 в двоичном виде будет выглядеть как единица, 1319 нулей, 897 единиц, два нуля и одна единица.
Число значащих нулей в этом числе составит 1319+2=1321.
#include <iostream>
#include <string>
#define N 5
using namespace std;
int count_flat = 0;
struct Flat {
int n_rooms;
int square;
int floor;
string address;
double price;
void PrintInfo() {
cout << "\nКоличество комнат: " << n_rooms << "\nПлощадь " << square << "\nЭтаж:" << floor << "\nАдрес " << address << "\nЦена: " << price;
}
void InputInfo() {
cout << "Количество комнат: ";
cin >> n_rooms;
cout << "Площадь: ";
cin >> square;
cout << "Этаж: ";
cin >> floor;
cout << "Адрес: ";
getline(cin, address);
cout << "Цена: ";
cin >> price;
}
void PrintChecksInfo(int number) {
if (number >= price) {
count_flat++;
PrintInfo();
}
}
};
signed main() {
setlocale(LC_ALL, "Rus");
int choice;
Flat mas[N];
for (int i = 0; i < N; i++)
mas[i].InputInfo();
cout << "Введите стоимость: ";
cin >> choice;
for (int i = 0; i < N; i++) {
mas[i].PrintChecksInfo(choice);
}
if (count_flat <= 0)
cout << "Таких квартир нет!";
return 0;
}