Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
-1 / 1 / 1
Регистрация: 14.01.2017
Сообщений: 322
1

Рассчитать симметрические двоичные числа

29.11.2019, 19:24. Показов 774. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задача состоит в том, чтобы создать программу, которая рассчитывает симметрические двоичные числа.
Ввод программы представляет собой последовательность поисковых команд. Ввод завершается при достижении конца ввода (EOF). Каждая команда состоит из 3 данных X, LO, HI. Первый символ указывает, хотим ли мы перечислить все найденные симметрические двоичные числа ( будет введён символ l - list) или мы хотим только прочитать их (символ c - cont), затем следуют нижний(LO) и верхний(Hl) пределы искомого интервала.
Единственное что я могу это перевести число в двоичный вид что дальше не понимаю(

Добавлено через 2 минуты
Вот пример который мне не о чом не говорит
Ввод:

l 0 20
c 0 20
l 1019 2019

Вывод:

Intervals:
0 = 0b
1 = 1b
3 = 11b
5 = 101b
7 = 111b
9 = 1001b
15 = 1111b
17 = 10001b
Total: 8
1023 = 1111111111b
1025 = 10000000001b
1057 = 10000100001b
1105 = 10001010001b
1137 = 10001110001b
1161 = 10010001001b
1193 = 10010101001b
1241 = 10011011001b
1273 = 10011111001b
1285 = 10100000101b
1317 = 10100100101b
1365 = 10101010101b
1397 = 10101110101b
1421 = 10110001101b
1453 = 10110101101b
1501 = 10111011101b
1533 = 10111111101b
1539 = 11000000011b
1571 = 11000100011b
1619 = 11001010011b
1651 = 11001110011b
1675 = 11010001011b
1707 = 11010101011b
1755 = 11011011011b
1787 = 11011111011b
1799 = 11100000111b
1831 = 11100100111b
1879 = 11101010111b
1911 = 11101110111b
1935 = 11110001111b
1967 = 11110101111b
2015 = 11111011111b
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.11.2019, 19:24
Ответы с готовыми решениями:

Двоичные числа на С++
Доброго времени суток. Восьмеричные числа на С++ вроде представляются с префиксом 0, т.е. 0124 Шестнадцатеричные - 0x, т.е. 0x124, а...

В каком виде хранить двоичные числа
Здравствуйте! Подскажите, пожалуйста, в каком типе данных хранить двоичные числа, что бы ими можно было примерно так пользоваться: a =...

Определить двоичные числа из промежутка [a,b], сумма цифр которых - простое число
Условие: Определить все двоичные числа, принадлежат промежутку , сумма цифр которых есть простые числа. вот то что я уже написал, цикл...

2
Диссидент
Эксперт C
 Аватар для Байт
27710 / 17328 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
29.11.2019, 19:42 2
vfhbf, конечно, можно перебирать все числа из интервала и проверять их двоичное представление на палиндромность (симметричность). Но ясно, что бОльшая часть перебора будет "впустую" и хотелось бы найти более эффективный и интересный алгоритм.
0
-1 / 1 / 1
Регистрация: 14.01.2017
Сообщений: 322
29.11.2019, 19:51  [ТС] 3
Байт, Мне хоть бы перебором
вот есть код перевода в двоичный вид, может быть можно его как-то использовать?
C++ Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
#include <conio.h>
void BinDec(char* bin, int size)
{
    int rez(0), i;
    std::cout<<"\nДесятичное число:\n< ";
    for(i = size - 1; i >= 0; --i)
        rez += (bin[i] - 48)<<i;
    std::cout<<rez<<std::endl;
}
char* DecBin(int chislo, int size)
{
    int i;
    char* bin = new char[size];
    std::cout<<"Двоичный код:\n< ";
    for(i = size - 1; i >= 0; --i)
    {
        if(!((i + 1) % 8))
            std::cout<<' ';
        std::cout<<(bin[i] = ((chislo>>i)&1) + 48);
    }
    return bin;
}
int main()
{
    setlocale(LC_ALL, "Russian");
    int chislo, size(sizeof(chislo)*8);
    std::cout<<"Введите число:\n> ";
    std::cin>>chislo;
    BinDec(DecBin(chislo, size), size);
    system("pause");
    return EXIT_SUCCESS;
    getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.11.2019, 19:51
Помогаю со студенческими работами здесь

Как представлять двоичные числа в обратном и дополнительном коде, используя битовые операции?
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;algorithm&gt; using namespace std; int main() { int n; cout &lt;&lt; &quot;Enter...

Записать все двоичные числа по порядку каждую цифру в отдельный элемент массива
Дано число p - количество знаков в двоичном числе Нужно записать все двоичные числа по порядку каждую цифру в отдельный элемент...

В каждом байте длинного целого числа N поменять местами двоичные разряды в зеркальном порядке
В каждом байте длинного целого числа N поменять местами двоичные разряды в зеркальном порядке.

Написать программу, которая считывает текст из файла и выводит на экран строки, содержащие двоичные числа
Помогите пожалуйста написать программу в CodeBlocks: Написать программу, которая считывает текст из файла и выводит на экран...

Рассчитать сумму цифр данного целого числа X.
Я знаю что это очень легкая задача, но тем не менее я никак не могу решить. Помогите мне пожалуйста! Рассчитать сумму цифр данного целого...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Циклы for в Python
py-thonny 17.03.2025
Существует множество ситуаций, когда нам нужно выполнить одно и то же действие несколько раз. Цикл for в Python — настоящий рабочий конь для большинства программистов. Если вам нужно пройтись по всем. . .
Предсказание ветвлений - путь к высокопроизводи­тельному C++
NullReferenced 17.03.2025
В высокопроизводительном программировании на C++ каждый такт процессора на счету. Когда речь заходит о разработке систем с низкой задержкой — будь то высокочастотная торговля, обработка потоковых. . .
Паттерн CQRS в C#
UnmanagedCoder 17.03.2025
Создание сложных корпоративных приложений часто требует нестандартных подходов к архитектуре. Один из таких подходов — паттерн CQRS (Command Query Responsibility Segregation), предлагающий простую,. . .
Паттерн Цепочка ответственности в C#
UnmanagedCoder 17.03.2025
Цепочка ответственности — это поведенческий паттерн проектирования, который позволяет передавать запросы последовательно по цепочке потенциальных обработчиков, пока один из них не обработает запрос. . . .
Создаем микросервисы с NestJS, TCP и Typescript
run.dev 17.03.2025
NestJS — фреймворк, который значительно упрощает создание серверных приложений на Node. js. Его прелесть в том, что он комбинирует концепции ООП, функционального программирования и предлагает. . .
Гексагональная архитектура со Spring Boot
Javaican 17.03.2025
Если вы когда-нибудь сталкивались с ситуацией, когда внесение простых изменений в базу данных или пользовательский интерфейс заставляло вас переписывать весь код, то вы точно оцените элегантность. . .
Позиционировани­е Kafka Consumer и Seek-операции
Javaican 17.03.2025
Что же такое Consumer Seek в Kafka? По сути, это API-метод, который позволяет программно указать, с какой позиции (offset) Consumer должен начать или продолжить чтение данных из партиции. Без этого. . .
Python NumPy: Лучшие практики и примеры
py-thonny 17.03.2025
NumPy (Numerical Python) — одна из ключевых библиотек для научных вычислений в Python. Она превращает Python из просто удобного языка общего назначения в среду для проведения сложных математических. . .
Java Micronaut в Docker: контейнеризация с Maven и Jib
Javaican 16.03.2025
Когда речь заходит о микросервисной архитектуре на Java, фреймворк Micronaut выделяется среди конкурентов. Он создан с учётом особенностей облачных сред и контейнеров, что делает его идеальным. . .
Управление зависимостями в Java: Сравнение Spring, Guice и Dagger 2
Javaican 16.03.2025
Инъекция зависимостей (Dependency Injection, DI) — один из фундаментальных паттернов проектирования, который радикально меняет подход к созданию гибких и тестируемых Java-приложений. Суть этого. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер