0 / 0 / 0
Регистрация: 17.09.2014
Сообщений: 2
1

Дано натуральное число n, получить последовательность нулей и единиц

17.09.2014, 17:47. Показов 2276. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дано натуральное число n, целые числа такие, что каждое a(i) равно нулю или единице и a(n) не равно нулю. Последовательность a0,...,a(n) задает двоичное представление некоторого числа . Получить последовательность нулей и единиц, задающую двоичное представление:
a) числа p+1;
б) числа p-1;
в) числа 3p.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.09.2014, 17:47
Ответы с готовыми решениями:

Дано натуральное число N, вещественная матрица размера N x N, вещественное число x. Получить последовательность из 0 и 1
Дано натуральное число N, вещественная матрица размера N x N, вещественное число x. Получить...

Дано натуральное число n, целочисленная квадратная матрица порядка n>3. Получить последовательность B1.Bn, где Bi
Помогите пожалуйста. Дано натуральное число n, целочисленная квадратная матрица порядка n>3....

Преобразовать строку, содержащую произвольную последовательность нулей и единиц (двоичное число), в целое число
Помогите пожалуйста с заданием Написать функцию, которая преобразует строку, содержащую...

Дано натуральное число n, действительное число х, действительная матрица n * 2n. Получить последовательность b1, . bn из нулей и единиц. Где b1 = 1
Дано натуральное число n, действительное число х, действительная матрица n * 2n. Получить...

1
Модератор
Эксперт С++
13252 / 10392 / 6213
Регистрация: 18.12.2011
Сообщений: 27,798
17.09.2014, 18:50 2
Лучший ответ Сообщение было отмечено swsw как решение

Решение

Пусть число представлена строкой с буквами '0' для нуля и '1' для единицы (чтобы не переводить потом)
Функция увеличения на единицу (уменьшение на 1 и сложение сделайте по аналогии)
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
bool Inc(char* number)
{
   
    int L=strlen(number);
// в данной функции перенос не нужен, но при сложении эта метода пригодится
    bool perenos=true; // считаем что перенос есть для увеличения самого младшего разряда
    for(int i=L-1;i>=0;i--) // идем по строке с конца
    {
            if(number[i]=='0') // если ноль
            {
                   if(perenos)  // и был перенос
                         number[i]='1'; // меняем на единицу
                   perenos=false;
                   break;              // дальше идти не надо, остальное не меняется
            }else    // если не ноль
            {
                   if(perenos)  // и был перенос
                          number[i]='0';  // меняем на ноль и оставляем перенос
                   else
                   {
                         perenos=false;
                         break; // переноса не было, оставляем цифру и уходим
                    }
            }
    }
    return perenos;// если перенос остался, то возвратится true (число не влезло)
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.09.2014, 18:50
Помогаю со студенческими работами здесь

Дано натуральное число, выяснить, каких цифр больше нулей или единиц
Дано натуральное число, выяснить, каких цифр больше нулей или единиц

Дано натуральное число. Получить последовательность
создать файл-функцию Дано натуральное число n. Получить последовательность b1, ..., bn, где при i...

Дано натуральное число n. Получить последовательность
Дано натуральное число n. Получить последовательность b1, b2,…,bn, где при i=1,2,…,n значение bi...

Дано натуральное число n. Получить последовательность b1, ., bn, где при i = 1, 2, ., n значение b i равно:
Дано натуральное число n. Получить последовательность b1, ..., bn, где при i = 1, 2, ..., n...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru