Ejemplo n.º 1
0
int problem35()
{
    int count = 0;
    for (int i = 0; i < 1000000; ++i)
        count += isCircularPrime(i);
    return count;
}
Ejemplo n.º 2
0
size_t euler::problem35()
{
	const auto limit = 1e6_u;
	std::set< size_t > primes;
	generate_primes( [ limit, &primes ]( size_t prime ) { if( prime < limit ) primes.insert( prime ); }, limit, { 2, 3 } );

	assert( isCircularPrime( 197, primes ) );
	assert( boost::size( boost::make_iterator_range( primes.begin(), boost::lower_bound( primes, 1e2_u ) ) | boost::adaptors::filtered( [ &primes ]( size_t prime ) { return isCircularPrime( prime, primes ); } ) ) + 2 == 13 );
	return boost::size( primes | boost::adaptors::filtered( [ &primes ]( size_t prime ) { return isCircularPrime( prime, primes ); } ) ) + 2;
}
Ejemplo n.º 3
0
int main(void)
{
    assert(isCircularPrime(197) == true);

    std::cout << problem35() << std::endl;
}