Первичная факторизация первых 1000 чисел в C++

Мне нужно написать программу, которая могла бы найти суммы простых множителей первых 1000 чисел, проверить, являются ли суммы простыми, и распечатать их, если они есть.

У меня есть некоторый псевдокод, который я написал, и у меня есть работающая программа для генерации простых чисел, которые я пытаюсь расширить. Кстати, я учусь по книге "Прыжок в C++" (это практическая проблема в книге).

Это псевдокод:

// for every 1000 of the first bunch of numbers, check if the number is prime
// if (number isPrime())
// use expression <number_being_checked % number_being_compared_against == 0;>

// if (number_being_checked % number_being_compared_against == 0)
// for every number found from dividing the two numbers, check if number is prime
// add up prime numbers and check if the sums are prime

// else, return false in bool function isFactorPrime() (if I write such a function)

И это функция main() прямо сейчас:

int main ()
{
    for (int i = 0; i < 1000; i++)
    {

        if (isFactorPrime(i))
        {
            cout << i 
        }
    }
}

У меня сейчас проблема в том, что я должен добавить к i (i + some_variable?), Чтобы получить сумму, которую я могу использовать в своем чеке, чтобы узнать, простое ли это число. Должен ли я создать внутренний цикл for, а затем добавить в него переменную цикла с выражением i + j? Где я бы назначил j значение проверяемого числа (вот что мне интересно, как я мог сделать. Это не так, как я собираюсь принять ввод пользователя, я просто перебираю первые 1000 чисел и проверяя их).

В книге также есть некоторые другие практические проблемы, с которыми мне нужно обратиться за помощью, но сейчас я остановлюсь только на этой.

0 ответов

Другие вопросы по тегам