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
#!/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)
#!/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)
#!/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)