Anonymous user
Ascending primes: Difference between revisions
→{{header|C++}}
Line 271:
▲stack<Item> suspected;
vector<unsigned> primes;
bool isPrime(unsigned
{
if (
{
return false;
}
else if (
{
if (
{
return false;
Line 296 ⟶ 289:
else
{
unsigned truncatedSquareRoot = sqrt(
for (unsigned k = 3; k <= truncatedSquareRoot; k += 2)
if (n % k == 0)
{
return false;
}
}
}
}
Line 310 ⟶ 307:
for (unsigned k = 1; k <= 9; k++)
{
suspected.push(
}
while (!suspected.empty())
{
// STL stack in C++ has weird void pop(), i.e. pop() does not return
Item item = suspected.top();▼
// any value. Thus it is necessary use top() method to read, pop() to
// remove an element from the stack.
//
suspected.pop();
if (isPrime(
{
primes.push_back(
}
// The value of n % 10 gives the least significient digit of n
for (unsigned k = item.lastDigit + 1; k <= 9; k++)▼
//
{
suspected.push(
}
}
|