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

Найти пары элементов массива сумма которых является степенью двойки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Чтение данных из файла последовательного доступа http://www.cyberforum.ru/cpp-beginners/thread1787553.html
Доброго времени суток , столкнулся с такой проблемой. Информация: Данные в файле: 10228 John GREY 5638.5 32255 Alice Nata 1058.46
C++ Спецификатор преобразования Доброго времени суток. Сегодня при изучении материала по работе с файлами натолкнулся на такой вопрос. Программы ниже иллюстрирует чтение данных из файла последовательного доступа. // File... http://www.cyberforum.ru/cpp-beginners/thread1787548.html
C++ Небольшая оплошность в выводе двумерных массивов
Здрасте, решил я просто попробовать по практиковать как-то с двумерными массивами, все нормально программа работает и выводит то что надо, но возникла проблема с видом вывода. Вот сам код: ...
Посчитать, хватит ли поросятам тугриков для подключения к компьютерной сети (задача acmp №57) C++
Задача acmp №57 (Время: 1 сек. Память: 16 Мб Сложность: 33%): Компания «Маша и медведи» является самым крупным интернет-провайдером во всем лесу. Именно поэтому, с просьбой подключить их к...
C++ Нахождение разбиений числа http://www.cyberforum.ru/cpp-beginners/thread1787487.html
Все привет, ребят помогите. Суть задания: разбиений числа, есть число, нужно его разбить. Например, {3,1,1} или {3,2} — разбиения числа 5, поскольку 5 = 3 + 1 + 1 = 3 + 2. Всего существует p(5) = 7...
C++ Взять элементы из определенного листа list<int>route; vector<list<int>>routes; route.push_back(.) routes.push_back(route) for(int start = 0 ; start = routes.size();start++) { for().. for().. подробнее

Показать сообщение отдельно
zss
Модератор
Эксперт С++
6575 / 6137 / 2021
Регистрация: 18.12.2011
Сообщений: 15,992
Завершенные тесты: 1
30.07.2016, 13:29
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
#include <iostream>
using namespace std;
 
bool is_power2(int k)
{
    int count1=0;
    while(k)
    {
        count1+=(k&1);
        k>>=1;
    }
    return !(count1-1); // должна быть всего одна единичка
}
int main()
{
 
    int n;
    cin >> n;
    int* mas=new int[n];
    for (int i = 0; i<n; i++)
    {
        cin >> mas[i];
    }
 
    int pair = 0;
    for (int k = 0; k< n - 1; k++)
    {
        for (int j = k + 1; j<n; j++)
        {
            if( is_power2(mas[k] + mas[j]) )
                ++pair;
        }
    }
    delete[] mas;
    cout << pair<<endl;
    system("pause");
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.