Example #1
0
def blue_disks(x):
    a,b = 2,-2
    c = - (x**2 - x)
    if is_square(4 - 8 * c):
        possible_solutions = solve_quadratic(a, b, c)
        for b in possible_solutions:
            if good_solution(x, round(b)):
                return long(b)
    return 0
Example #2
0
#!/usr/bin/env python

from bigfloat import sqrt, precision
from pe_tools import is_square

def hundred_digit_sum(n):
    s = str(n)
    if '.' in s:
        i = s.find('.')
        s = s[:i] + s[i+1:]
    s = s[:100]
    return sum(map(int, s))

if __name__ == '__main__':
    total = 0
    for n in range(1, 100):
        if not is_square(n):
            s = hundred_digit_sum(sqrt(n, precision(340)))
            total += s
    print str(total)
Example #3
0
#!/usr/bin/env python

from pe_tools import repeating_cf, continued_fraction_sqrt, cf_to_rational, is_square

def test_pells_equation(x, d, y):
    return x*x - d*y*y == 1

def solve_pells_for_x(d):
    i = 1
    while True:
        cf = repeating_cf(continued_fraction_sqrt(d))
        finite_cf = [cf.next() for _ in range(i)]
        rational = cf_to_rational(finite_cf)
        if test_pells_equation(rational.numerator, d, rational.denominator):
            return rational.numerator
        i += 1

if __name__ == '__main__':
    bestD = 0
    bestX = 0
    for d in range(2, 1000):
        if is_square(d):
            continue
        x = solve_pells_for_x(d)
        if x > bestX:
            bestD = d
            bestX = x
    print "{}".format(bestD)
Example #4
0
#!/usr/bin/env python

import math
import pe_tools
from pe_tools import continued_fraction_sqrt

if __name__ == "__main__":
    total = 0
    for i in range(1, 10000):
        if not pe_tools.is_square(i):
            l = len(continued_fraction_sqrt(i)) - 1
            if l % 2 == 1:
                total += 1
    print str(total)