예제 #1
0
파일: p058.py 프로젝트: kentfrazier/euler
def diagonal_prime_pct_below(pct):
    diagonals = diagonal_gen()

    prime_count = 0
    diagonal_count = 0

    size = 1
    diagonal = diagonals.next()
    diagonal_count += 1
    if is_prime(diagonal):
        prime_count += 1

    while True:
        size += 2
        for i in xrange(4):
            diagonal = diagonals.next()
            diagonal_count += 1
            if is_prime(diagonal):
                prime_count += 1
        if ( prime_count / diagonal_count ) < pct:
            break
    return size
예제 #2
0
파일: p051.py 프로젝트: kentfrazier/euler
def yield_template_primes(template):
    for num in [ str(i) for i in range(10) ]:
        potential = int(template.replace('*', num))
        if is_prime(potential):
            yield potential
예제 #3
0
파일: p060.py 프로젝트: kentfrazier/euler
def is_concatenable_combo(x, y):
    return is_prime(int(y + x * 10**(floor(log10(y)+1))))