Форум программистов, компьютерный форум, киберфорум
Наши страницы

Найти количество нечетных чисел в n-ой строке треугольника Паскаля - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Система тестирования: считывание вопросов из файлов http://www.cyberforum.ru/cpp-beginners/thread1492303.html
Здравствуйте! У меня возникла проблема при создании теста . (Ну системы тестирования знаний) Сначала пробовал написать с нуля. В итоге нахватал Error'ов и забил. Нашел сорсы (.ini, source и...
C++ Проверить, пересекаются ли две окружности Добрый день, не получается решить данную задачу: На плоскости даны две окружности. Требуется проверить, пересекаются ли они. Входные данные Входной файл INPUT.TXT состоит из двух строк. На... http://www.cyberforum.ru/cpp-beginners/thread1492282.html
C++ Для вывода знаков зодиака
16.Известно, что астрологи делят год на 12 периодов и каждому из них ставят в соответствие один из знаков Зодиака. Написать программу, которая в зависимости от даты рождения печатает название...
Как сделать из двух чисел третье, уникальное для любой комбинации первых двух? C++
Hi :) Есть два числа, допустим: int a и int b, как можно их "сопряч", то есть что - то с ними сделать, что бы получить третье число, уникальное для любого набора этих А и B. Причём порядок...
C++ Создать окно с кнопкой, закрывающей это окно http://www.cyberforum.ru/cpp-beginners/thread1492244.html
Создайте новый оконный проект в ОС Microsoft Windows 7 или Linux. Разместите посередине окна кнопку с надписью "Close". После нажатия кнопки окно должен закрываться. Работа программы должно...
C++ Массив, индекс как уникальный ID Добрый день. Пытаюсь сделать список, который хранит в себе список всех обьектов. У этого списка есть поле - ID. По идеи оно должно быть уникальным. Но вот вопрос. При создании массива, стоит ли... подробнее

Показать сообщение отдельно
ture
441 / 334 / 126
Регистрация: 27.11.2014
Сообщений: 1,042
03.07.2015, 16:13
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <iostream>
using std::cout;
using std::endl;
using std::cin;
 
 
int main(){
    setlocale(LC_ALL, "rus");
    
    //Инициализация
    unsigned int bitLine = 0;
        
    //Номер строки треугольника Паскаля
    cout << "Укажите номер строки треугольника Паскаля - ";
    int n;
    cin >> n;
 
    //Счетчик нечетных чисел
    int iCnt;
    for(int i = 1; i <= n; i++){
        //Выставляем общее количество чисел в строке
        iCnt = i;   
        
        //Преобразуем последовательность четных (1) и нечетных (0)
        bitLine <<= 1; //двигаем влево
        bool a = bitLine & (0x1 << 1);
        bool b;     
        for(int j = 1; j < i-1; j++){
            //Получить биты
            b = a;
            a = bitLine & (0x1 << (j + 1));                     
            
            if((!a^b) != b) {
                //Замена бита на противоположные
                unsigned int m = 0x1<<j;
                if(b)
                    bitLine &= ~m;
                else
                    bitLine |=  m;
            }
 
            //Четные числа исключаем из общего количества
            iCnt -= !a^b;
        }
    }
 
    cout << "В строке " << n << " имеется " << iCnt << " нечетных чисел" << endl;
    
    system("pause");
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru