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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
sonik_20014
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 9
#1

Битные маски - C++

11.01.2014, 01:03. Просмотров 358. Ответов 4
Метки нет (Все метки)

Найти все натуральные числа k <50 такие, что выражение 2 * 36n + k * 23n +1 - 1 при всех n (n <5) делится на 7. Сформировать из найденных цифр множество А.

Помогите пожалуста
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2014, 01:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Битные маски (C++):

64-х и 32-х битные системы - C++
Пишу в MSVS 2012 на Windows 8... интересует вопрос, почему программа не запускается на 32-х битных системах? Пишет данное приложение не...

16-битные числа - C++
Данные два 16-битных числа A (aa. .. a) и B (bb. .. b), случайным образом выбирается точка разрыва t и получаем 2 числа (С1 и С2): для...

[C++] 24-битные BMP - C++
Программа не хочет кодировать 24-битные BMP. Под кодированием я понимаю разбитие изображение на квадраты по 10 пикселей (в программе - по...

Встроенный asm и 64-битные регистры - C++
Всем привет! Попробовал записать в 64-битный регистр ( R8 ) данные, на что студия ответила что не знает что это такое вообще. ...

64 битные типы данных в devC++ - C++
здравствуйте уважаемые специалисты. Пишу программу на DevC++ и у меня возникла потребность в использовании 64 битного беззнакового целого...

Как преобразовать текст на 64-битные блоки - C++
Хочу разобраться в DES шифре. Помогите понять. Не могу разобраться, как представить текст в виде 64-битных блоках, для дальнейшего...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
kidpoker
7 / 6 / 0
Регистрация: 02.08.2012
Сообщений: 16
11.01.2014, 01:33 #2
Мб я что-то не понял...

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
#include <conio.h>
 
int _tmain(int argc, _TCHAR* argv[])
{
    /*
    Найти все натуральные числа k <50 такие, что 
    выражение 2 * 36n + k * 23n +1 - 1 при всех n (n <5) делится на 7. Сформировать из найденных цифр множество А.
    */
    int set=0;
    int a[50];
    int res=0;
 
    for(int k=0; k<50; k++){
        for(int n=0; n<5; n++){
            int var=(2*36*n)+(k*23*n)+1-1;
            if(var%7==0)set=1;else set=0;
        }
 
        if(set==1)a[res]=k, res++, set=0, printf("%d \n",k);
    }
 
    getch();
 
    return 0;
}
1
sonik_20014
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 9
11.01.2014, 01:44  [ТС] #3
здесь формула не та, должна бить 2*pow(3,(6*n).)+k*pow(2,(3*n+1).)-1
то есть должно быть 3 в степени 6n, а 2 в степени 3n+1
0
kidpoker
7 / 6 / 0
Регистрация: 02.08.2012
Сообщений: 16
11.01.2014, 01:55 #4
Выдает, что таких чисел нет, разве что n может быть float
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
#include <conio.h>
#include <math.h>
 
int _tmain(int argc, _TCHAR* argv[])
{
 
    int set=0;
    int a[50];
    int res=0;
 
    for(int k=0; k<50; k++){
        for(int n=0; n<5; n++){
            int var=(2*pow(3.,6*n))+k*pow(2.,3*n+1)-1;
            printf("var = %d \n",var);
            if(var%7==0)set=1;else set=0;
        }
 
        if(set==1)a[res]=k, res++, set=0, printf("%d \n",k);
    }
 
    printf("end");
 
    getch();
 
    return 0;
}
1
sonik_20014
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 9
11.01.2014, 14:01  [ТС] #5
Это должна быть работа с битовыми масками с использованием:
Стандартные операции над множествами и выражения, соответствующие им при работе с масками.
 Объединение множеств: A | B
 Пересечение множеств: A & B
 Разность множеств: A & ~ B
 Дополнение множества: ALL_BITS ^ A (здесь ALL_BITS - маска, в которой все биты, соответствующие элементам домена установлены в 1)
 Добавление i-того элемента в множество (установление и-го бита): A | = 1 << i
 Удаление i-го элемента: A & = ~ (1 << i)
 Проверка, и-й элемент принадлежит множеству (A & (1 << i))! = 0
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.01.2014, 14:01
Привет! Вот еще темы с ответами:

Разделить содержимое файла на 64 битные блоки - C++
помогите с программой на c++(задание по криптографии) ,нужно разделить содержимое файла на 64 битные блоки,для дальнейшего шифрования.как...

Размытие изображения наложением маски - C++
имеется изображение 32 битное в bmp формате, нужно его размыть маской 3х3. язык-Cpp как вообще это делается, подскажите

Создать множество , используя битовые маски. (Дописать код) - C++
нужно дописать код чтобы все значения переменной &quot;о&quot; добавить в множество( например множество А, используя битовые маски. И найти...

Получить из одной матрицы другую исходя из графической маски - C++
Помогите разобраться с задачей! Сижу уже который день, никак не могу представить что тут к чему... Дана действительная матрица , i,...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
11.01.2014, 14:01
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru