Олжас Ермеков: если совсем грубо брать, то алгоритм примерно следующий:
- входные данные всегда имеют строковый тип ('101,011')
- разбиваем исходную строку на целую и дробную части по разделителю
- работаем с каждой частью по своему алгоритму
- целую часть перебираем посимвольно с конца, приводим к численному типу и умножаем на степень двойки
- дробную просматриваем с начала и так же умножаем как число на отрицательную степень двойки
- складываем получившиеся числа
- выводим результат
Не до конца понятна суть задачи. Например, нужно найти 50 способов (если k=50) представить число 153 (n=153) в виде произведения двух чисел (a*b), правильно я понял? Можно увидеть конкретный результат для какого-нибудь числа?
Олжас Ермеков: Какой тип данных получился у дробной и целой части: число, строка, массив? Для чего их нужно соединять: вывести на экран или продолжить работу с получившимся числом (вроде напрямую с двоичными числами в C++ нельзя работать)? Не видя код тяжело что-то предложить.
Spacedandy: да, использую для небольших программ. Основной профиль у меня не C++ просто.
Тоже начинал с Pascal. Из плюсов этой IDE: кросплатформенность, открытый код, бесплатная соответственно. Вот тут неплохо описаны достоинства.
Тем более вы только начинаете изучать C++, навороты VS и новые стандарты C++14 сомневаюсь что сразу пригодятся. Для новичков вообще полезно начинать с блокнота и осваивать линковки, компоновки и т.п. сначала самому, руками. А уже потом браться за IDE. Понимания больше будет.
Вобщем с книжкой Праты Code::Blocks справится.
Книга хороша. Где кстати в бумажном виде ее можно приобрести, не подскажете?
После нее Таненбаума "Архитектура компьютера", "Современные операционные системы" и Хамахер "Организация ЭВМ"
Это как пример. Можно переработать под рекурсию с любой глубиной.
Я бы сделал так:
1 нашли родительские элементы:
2 проверяем на дочерние элементы
- если есть, то ищем дочерние уже в них
Это можно обернуть в функция (процедуру) и применять на дочерние элементы.
Вроде не проблема получить дочерние элементы зная родителя.