problem243.py 437 B

12345678910111213141516171819202122232425262728
  1. def is_resilient(n, d):
  2. if n == 1:
  3. return True
  4. for div in xrange(2, min(n, d) + 1):
  5. if not n % div and not d % div:
  6. return False
  7. return True
  8. def resilience(d):
  9. r = 0
  10. for n in xrange(1, d):
  11. if is_resilient(n, d):
  12. r += 1
  13. return r / (d - 1.)
  14. smallest = 15499. / 94744
  15. d = 2
  16. while True:
  17. if resilience(d) < smallest:
  18. print d
  19. break
  20. d += 1