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

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

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

Найти все числа меньшие числа Мерсенна - C++

02.01.2016, 14:59. Просмотров 549. Ответов 2
Метки нет (Все метки)

Дано натуральное число n. Найти все числа меньшие Мр числа Мерсенна.
Число Мерсенна – это простое число, представленное в виде Mp=2p–1,
где p – тоже простое число.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.01.2016, 14:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти все числа меньшие числа Мерсенна (C++):

Найти все натуральные числа, меньшие заданного числа и взаимно простые с ним - C++
Дано натуральное число n. Необходимо получить все натуральные числа, меньшие nn и взаимно простые с ним (два натуральных числа называются...

Составьте программу, позволяющую найти все числа Фибоначчи, меньшие заданного числа N - C++
Помогите, пожалуйста. Вот сама задача: Пара кроликов каждый месяц дает приплод – двух кроликов (самца и самку), от которых через два...

Найти все простые числа меньшие заданного числа - C++
Помогите Пожалуйста! Простое число это число которое делится только на 1 и на самого себя. Пользователь вводит число n и...

Найти все совершенные числа меньшие заданного - C++
Натуральное число называется совершенным, если оно равно сумме своих делителей, включая 1 и, естественно, исключая это самое число....

Найти все совершенные числа, меньшие заданного - C++
Натуральное число называется совершенным, если оно равно сумме своих делителей, включая 1 и, естественно, исключая это самое число....

Найти все числа Мерсена, меньшие заданного n - C++
Не могли бы написать код программы (если можно без ООП и с использованием if или switch или for или......... "'элементарных" операторов ). ...

2
DocC
336 / 65 / 26
Регистрация: 22.12.2010
Сообщений: 138
02.01.2016, 18:19 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
во-первых:
число Мерсенна это не http://www.cyberforum.ru/cgi-bin/latex.cgi?2p-1, а http://www.cyberforum.ru/cgi-bin/latex.cgi?{2}^{n} - 1, где http://www.cyberforum.ru/cgi-bin/latex.cgi?n - НАТУРАЛЬНОЕ число.
во-вторых:
установив в формуле http://www.cyberforum.ru/cgi-bin/latex.cgi?p, а не http://www.cyberforum.ru/cgi-bin/latex.cgi?n, Вы, как я понял, подразумевали числа Мерсенна для простых индексов.
Числа Мерсенна с натуральными индексами:
1, 3, 7, 15, 31, 63, 127, 255, 511, ...
Числа Мерсенна с простыми индексами:
3, 7, 31, 127, 2047, 8191, 131 071, 524 287, 8 388 607, 536 870 911,...
Простые числа Мерсенна:
3, 7, 31, 127, 8 191, 131 071, 524 287, 2 147 483 647,... (прошу обратить внимание на последнее здесь записанное число и на границу типа int, и при необходимости смените тип)

И раз уж Вы делаете акцент на слове
простое
, то вот как я вижу задачу:
С клавиатуры вводится натуральное число, для него создаётся последовательность чисел Мерсенна. Из этой последовательности выбираются только простые.

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
#include <iostream>
#include <locale>
#include <cmath>
#include <vector>
 
using std::cout;
using std::cin;
using std::endl;
using std::vector;
 
bool isPrime(int m) {
    if (m == 1)
        return false;
    for (int k = 2; k <= sqrt(m); k++) {
        if( m % k == 0)
            return false;
    }
    return true;
}
int main() {
    setlocale(LC_ALL, "Russian");
    int n;
    vector<int> mersenne;
    cout << "Введите натуральное число n = ";
    cin >> n;
    cout << "Последовательность чисел Мерсенна:" << endl;
    for(int i = 0; i < n; i++) {
        mersenne.push_back(pow(2,i+1)-1);
        cout << mersenne[i] << ' ';
    }
    cout << endl << "Простые числа Мерсенна из составленной последовательности:" << endl;
    for(vector<int>::const_iterator iter = mersenne.begin(); iter != mersenne.end(); ++iter) {
        if(isPrime(*iter))
            cout << *iter << ' ';
    }
    return 0;
}
1
AntonAA
0 / 0 / 0
Регистрация: 26.05.2015
Сообщений: 15
03.01.2016, 08:46  [ТС] #3
Спасибо большое)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.01.2016, 08:46
Привет! Вот еще темы с ответами:

Для заданного натурального числа N вывести в столбик все совершенные числа меньшие N c++ - C++
Для заданного натурального числа N вывести в столбик все совершенные числа меньшие N. Совершенное число – натуральное число, которое равно...

Получить все числа Мерсенна заданного интервала - C++
Простое число называется числом Мерсенна, если оно может быть представлено в виде 2p – 1, где p – тоже простое число. Получить все числа...

Даны числа m и n, получить все натуральные числа,меньшие n, квадрат суммы цифр которых равен m - C++
помогите решить задачку. Даны числа m и n. Получить все натуральные числа,меньшие n, квадрат суммы цифр которых равен m .(m и n вводятся с...

Даны числа m и n. Получить все натуральные числа,меньшие n, квадрат суммы цифр которых равен m - C++
Доброго времени суток) прошу вашей помощи. Даны числа m и n. Получить все натуральные числа,меньшие n, квадрат суммы цифр которых равен...


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

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

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