0 / 0 / 1
Регистрация: 01.09.2012
Сообщений: 96
1

Найти сумму простых чисел, не превышающих данное число n

01.10.2017, 14:11. Показов 805. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Код программы, но считает неправильно. когда n = 10, простые меньше 10: 2, 3, 5, 7. их сумма 17, а выводит 54.

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
#include <cstdlib>
#include <iostream>
#include <cstring>
using namespace std;
void erathosphen(int n) {
    long s = 0;
    bool prime[n+1];
    memset(prime, true, sizeof(prime));
    for (int p = 2; p*p <= n; p++) {
        if (prime[p] == true) {
            for (int i = p*2; i <= n; i += p)
                prime[i] = false;
        }
    }
    for (int p = 2; p <= n; p++) {
        if(prime[p])
            cout<<p<<" ";
        s += p;
    }
        cout<<"Sum: "<<s;
}
int main(int argc, char** argv) {
    unsigned int n;
    cin>>n;
    cout<<"primes <= "<<n<<":"<<endl;
    
    erathosphen(n);
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.10.2017, 14:11
Ответы с готовыми решениями:

Найти сумму всех нечетных натуральных чисел кратных 7, не превышающих данное n
помогите

Нахождение всех простых чисел, не превышающих заданное число.
Всем привет, просьба помочь с заданием в Visual Prolog 5.2 Нахождение всех простых чисел, не...

Вычислить сумму всех простых чисел, не превышающих 2000000.
Помогите написать программу на лиспе и F# для решения следующей задачи Сумма простых чисел...

Найти сумму элементов четных номеров массива вещественных чисел, превышающих заданное число
1. Найти сумму элементов четных номеров массива вещественных чисел, превышающих 9

2
594 / 286 / 178
Регистрация: 06.06.2016
Сообщений: 547
01.10.2017, 14:29 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
26
27
28
29
30
31
#include <cstdlib>
#include <iostream>
#include <cstring>
using namespace std;
void erathosphen(int n) {
    long s = 0;
    bool prime[n+1];
    memset(prime, true, sizeof(prime));
    for (int p = 2; p*p <= n; p++) {
        if (prime[p] == true) {
            for (int i = p*2; i <= n; i += p)
                prime[i] = false;
        }
    }
    for (int p = 2; p <= n; p++) {
        if( prime[p]) {
          cout<<p<<" ";
          s += p;
        }
 
    }
        cout<<"Sum: "<<s;
}
int main(int argc, char** argv) {
    unsigned int n;
    cin>>n;
    cout<<"primes <= "<<n<<":"<<endl;
 
    erathosphen(n);
    return 0;
}
0
1130 / 789 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
01.10.2017, 15:23 3
Цитата Сообщение от regio1961 Посмотреть сообщение
bool prime[n+1];
n не является const, это расширение стандарта. expression did not evaluate to a constant
C++
1
2
3
4
5
6
7
8
9
10
11
12
void erathosphen(int n) {
    if( n <= 0 ){
        cout << "  n==  " << n << "    ";
        return;
    }
    bool *prime = new bool[n+1];
    // ... 
    // ... 
    // ... 
    // ... 
    delete[] prime;
}
0
01.10.2017, 15:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.10.2017, 15:23
Помогаю со студенческими работами здесь

Сформировать массив простых чисел, не превышающих заданное натуральное число N
Доброго времени суток. Помогите, пожалуйста, найти ошибку. Задание звучит вот так:...

Ребята обьясните пожалуйста в C++ задано целое число нужно сформировать массив ПРОСТЫХ чисел не превышающих заданное
)))))

Дано целое число N. Найти сумму простых чисел от 2 до N
дано целое число N.найти сумму простых чисел от 2 до N. 2&lt;=N&lt;=1000000 надо сделать с помощью 2...

Найти сумму простых чисел, которые не превышают заданное число N
Доброе время,есть такая вот задачка. Написать функцию, которая получает на вход положительное...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru