В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
Cheburek1112
Cheburek1112
01.08.2022 10:19 •  Информатика

Напишите, , программу на c++ вот условие: напишите программу, которая выводит цифры, встречающиеся во входной последовательности, в порядке увеличения частоты их встречаемости. если какие-то цифры встречаются одинаковое число раз, они выводятся в порядке возрастания. входные данные входная строка содержит произвольные символы. выходные данные программа должна вывести цифры, встречающиеся во входной последовательности, в порядке увеличения частоты их встречаемости. нужно к 05.04 к 8.00 30

Показать ответ
Ответ:
кисуня17
кисуня17
05.07.2021 13:22
1) 27^4 – 9^5 + 3^8 – 25 (см. рис)
Приведём все числа к степеням тройки, учитывая, что 
25 = 27-2 = 3^3-2∙3^0
27^4 – 9^5 + 3^8 – 25 = (3^3)^4 - (3^2)^5 + 3^8 - 3^3 + 2∙3^0 = 
(3^12 - 3^10) + (3^8 - 3^3) + 2∙3^0
Найдем значение разности в первой скобке, учитывая что 12-ая степени тройки в троичной системе это 1000000000000(3), а 10-ая степень - это 10000000000(3)
 1000000000000(3)
-
   10000000000(3)

  220000000000(3)
Т.е. в троичной записи 12–10 = 2 «двойки» и 10 «нулей».
Вычислим аналогично вторую скобку:
 100000000(3)
-
      1000(3)

  22222000(3)
Т.е. в троичной записи 8–3 = 5 «двоек» и 3 «нуля».
Таким образом, общее количество двоек = 2+5+1 = 8

2) 3∙16^8 – 4^5 + 3 (см. рис)
Приведём все числа к степеням четверки:
3∙16^8 – 4^5 + 3 = 3∙(4^2)^8 – 4^5 + 3∙4^0 = 3∙4^16 – 4^5 + 3∙4^0
Найдем значение разности, учитывая что 3∙4^16 в системе счисления с основанием 4 это одна «тройка» и 16 «нулей», а 4^5 - это одна «единица» и 5 «нулей»:
 30000000000000000(4)
-
            100000(4)
 
 23333333333300000(4) (одна «двойка», 11 «троек» и 5 «нулей»)
Таким образом, общее количество троек = 11+1 = 12

3) 4^1024 + 8^1025 – 2^1026 – 140
Количество значащих нулей равно количеству всех знаков в двоичной записи числа минус количество единиц.
Приведём все числа к степеням двойки, учитывая, что 140 = 128 + 8 + 4
4^1024 + 8^1025 – 2^1026 – 140 =
(2^2)^1024 + (2^3)^1025 – 2^1026 – (2^7+2^3+2^2) =
2^3075 + 2^2048 – 2^1026 – 2^7 - 2^3 - 2^2
Старшая степень двойки – 3075, двоичная запись этого числа представляет собой  единицу и 3075 нулей, то есть, состоит из 3076 знаков; таким образом, остаётся найти количество единиц.
Представим далее -2^1026 = -2^1027 + 2^1026, получим:
2^3075 + 2^2048 - 2^1027 + 2^1026 – 2^7 - 2^3 - 2^2
Аналогично – 2^7 = - 2^8 + 2^7, получим:
2^3075 + 2^2048 - 2^1027 + 2^1026 - 2^8 + 2^7 - 2^3 - 2^2
И, наконец, - 2^3 = - 2^4 + 2^3
2^3075 + (2^2048 - 2^1027) + (2^1026 - 2^8) + (2^7 - 2^4) + (2^3 - 2^2)
Вспомним свойство: число 2^N–2^K  при K < N записывается как N–K единиц и K нулей.
Общее число единиц = 1+(2048-1027)+(1026-8)+(7-4)+(3-2) = 2044
Таким образом, количество значащих нулей равно 3076-2044 = 1032
0,0(0 оценок)
Ответ:
BotanikAziz
BotanikAziz
05.05.2022 07:10
Уровень C

#include <iostream>

using namespace std;

int main()
{
    int n;
    cin >> n;
    int maxdigit = 0;
    while (n > 0) {
        int digit = n % 10;
        if (digit > maxdigit)
            maxdigit = digit;
        n /= 10;
    }
    cout << maxdigit;
    return 0;
}

Уровень D
#include <iostream>

using namespace std;

int main(){
    int n;
    cin >> n;
    int prev = -1;
    while (n > 0) {
        int digit = n % 10;
        if (digit == prev) {
            cout << "YES";
            return 0;
        }
        prev = digit;
        n /= 10;
    }
    cout << "NO";
    return 0;
}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота