Help me!! Please!! написати программу на C++

Нехай дано послідовність чисел, яка закінчується 0. Написати програму, яка рахує суму тих чисел послідовності, порядкові номери яких є простими числами.

bool a(size_t n)
{
    for (size_t i = 2; i <= sqrt(n); i++)
        if (n % i == 0)
            return false;
    return true;
}
template<class T>
T s(T n ...)
{
    T *p = &n,sum = 0;
    int i = 1;
    for (T t = n; t ; t = *(++p), ++i)
        if (a(i)) sum += t;
    return sum;
}
int main()
{
    int sum = s(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 0);
    // 1 + 2 + 3 + 5 + 7 + 11 + 13 + 17 + 19 = 78
    std::cout << sum << std::endl;
    return 0;
}

loktionov129, во-первых, на кой здесь ellipsis?
Во-вторых, работа с ellipsis производится исключительно с помощью
специальных макросов — va_*, в ином случае — UB.
Вот Вам пример работы Вашего кода: http://rextester.com/OUQ17776
В-третьих, хотя бы хешировали значение корня,
не говоря уже о том, что шагать можно не с 2,
а с трех, проверив сначала на четность,
а потом шагая уже через один, а не по каждому числу.

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.