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

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

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

Написать программу, которая выводит все числа Мерсенна C++
C++ Получить все числа Мерсенна заданного интервала
Найти все натуральные числа, меньшие чем N, для которых выполняется соотношение C++
Найти все натуральные числа, меньшие чем N, для которых выполняется соотношение C++
Найти все совершенные числа меньшие заданного C++
C++ Найти все совершенные числа, меньшие заданного
Найти все натуральные числа, меньшие n, квадрат суммы цифр которых равен m C++
Вывести все числа Мерсенна из заданного пользователем промежутка C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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;
}
AntonAA
0 / 0 / 0
Регистрация: 26.05.2015
Сообщений: 15
03.01.2016, 08:46  [ТС]     Найти все числа меньшие числа Мерсенна #3
Спасибо большое)
Yandex
Объявления
03.01.2016, 08:46     Найти все числа меньшие числа Мерсенна
Ответ Создать тему
Опции темы

Текущее время: 01:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru