адамчик2
16.10.2021 14:24

Якого значення набуде змінна S після виконання даної програми?

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
dejavu1337
22.02.2021 07:25

С++14

Код:

#include <iostream>#include <iomanip>#include <string>#include <algorithm> size_t count_char(const std::string& number, char c) {     return std::count(number.begin(), number.end(), c);} bool is_it_more_than(const std::string& number, char a, char b) {    return count_char(number, a) > count_char(number, b);}int main() {    long long k = 4353621ll;    char a = '3';    char b = '4';    std::string number = std::to_string(k);    std::cout << "Number is " << number << std::endl;    std::cout << "a = " << a << std::endl;    std::cout << "b = " << b << std::endl;    std::cout << "Does a appear in Number more often than b: " << std::boolalpha << is_it_more_than(number, a, b) << std::endl;    return 0;}
C++. Дано натуральное число. Верно ли, что цифра a встречается в нем реже, чем цифра b?​
0,0(0 оценок)
Ответ:
alenazayka200
10.07.2020 21:41

8^{511} - 4^{511} + 2^{511} - 512 + 1 = 2^{1533} - 2^{1022} + 2^{511} - 2^{9} + 2^{0}

Число 2^{n}_{10}  в двоичной системе счисления выглядит как единица и n нулей за ней.

То есть у числа 2^{1533} ровно 1533 значащих нуля, а у числа 2^{1022} их ровно 1022.

Разница же таких чисел порождает единицы между первыми единицами изначальных чисел. Например, 2^{5} - 2^{3} \rightarrow 100000 - 1000 = 11000. Появилось 5-3 = 2 единицы и осталось 3 (от последнего числа) значащих нуля.

Зная это, мы можем разобраться, сколько значащих нулей в загаданном числе.

2^{1533} - 2^{1022} + 2^{511} - 2^{9} + 2^{0}

2^{1533} - 2^{1022} даёт нам 1022 значащих 0 и 511 единиц перед ними.

2^{511} - 2^{9} даёт нам 9 значащих 0 и 502 единицы перед ними.

2^0 даёт нам 0 значащих 0 и 1 единицу перед ними (просто единица).

Теперь сложение.

Начинаем с самых больших разрядов. Понижаясь, вычитаем количество образовавшихся в середине единиц.

1022 - 502 - 1 = 519 - ответ.

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота