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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Как исправить ошибку "идентификатор не определён"? (ошибка с перегрузкой оператора>> ) http://www.cyberforum.ru/cpp-beginners/thread1630178.html
Здравствуйте. Пытаюсь вывести небольшой список: #include <iostream> #pragma once using namespace std; class BoolVector { public: struct v
C++ подскажите как сделать, чтобы забирало два параметра и передавало, которые я задаю, а то у меня ток один Первая программа #include <iostream> #include "stdio.h" #include "stdlib.h" #include "errno.h" #include "unistd.h" #include "sys/types.h" #include "sys/wait.h" #include <string> http://www.cyberforum.ru/cpp-beginners/thread1630147.html
После откладки компилятор не запускает программу (Visual C++ "ошибка при построении") C++
После откладки компилятор не запускает программу(код безошибочный,но в левом нижнем углу появляется надпись"ошибка при построении" ). Как это исправить ? netrox, пожалуйста, прочитайте правила форума и постарайтесь впредь их соблюдать: П. 4.3. Создавайте темы с осмысленными и понятными названиями - это серьезно повышает шансы, что на Ваш вопрос ответят. П. 4.7. Как можно более полно...
C++ Вычислить значение функции заданной разложением в ряд Тейлора
Вычислить выражения с точностью е=0.0001 . Неизвестные переменные задаются пользователем с клавиатуры. x\: +\: \frac{x}{1\cdot 2\cdot 3}\: +\: \frac{x}{1\cdot 2\cdot 3\cdot 4\cdot 5}\: +\: \frac{x}{1\cdot 2\cdot 3\cdot 4\cdot 5\cdot 6\cdot 7} \: +\: ...
C++ Где найти реализацию ассоциативного массива? http://www.cyberforum.ru/cpp-beginners/thread1630074.html
Хочу реализовать map. Погуглил не нашел.
 

Показать сообщение отдельно
DocC
336 / 65 / 26
Регистрация: 22.12.2010
Сообщений: 138
02.01.2016, 18:19     Найти все числа меньшие числа Мерсенна
во-первых:
число Мерсенна это не 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;
}
 
Текущее время: 17:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru