Я создаю программу, которая помещает простые числа в вектор. Я приведу пример, чтобы лучше показать, как эта программа должна работать:Соответствие правилу
Пользователь: 3
Выход 3
Пользователь: 13
Ouput: 3 5 7 11 13
Чтобы выразить это словами, эта программа добавляет простые числа, меньшие или равные входному значению пользователя. Затем, наконец, давая bool true или false, если фактический ввод пользователя был простым числом.
if (found)
{
vector_output.push_back(j);
}
if (number == j)
{
if (found ==false)
return false;
else
void checkprime::vector_finder()
{
for (int k=0; k < vector_output.size(); k ++)
{
cout << vector_output[k];
}
}
К сожалению, мой вывод:
Пользователь 3
Выход 3
Пользователь 13
Выход: 3 5 5 5 7 7 7 7 7 9 11 13
Как я могу найти его, где вектор не дублирует числа?
Я думал, что что-то подобное, если заявление прямо перед vector_output.pushback (J), такую как
if (vector_output.size() != 0 && vector.output.back() != j)
vector_output.push_back(j);
будет работать, но это ничего с этим не выводит.
Если вы намеренно делаете это как можно медленнее, вы действительно хотите использовать Сито Эратосфена для этого. –
Я хотел бы, чтобы моя программа не создавала дубликаты, тогда я перейду к эффективности. Я все еще очень начинающий, и я понимаю, что это не лучший способ сделать что-то. – Mdjon26
Как замечание по теме - определение того, является ли число простым, является ОЧЕНЬ трудной задачей. Вам лучше молиться, чтобы люди входили в небольшие количества. –