From 7fafbc95c0c963438197c9a43fe893c4ea6fe759 Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Thu, 30 Dec 2010 21:33:07 +0000 Subject: More cleanup: Move some demos into a dedicated Tools/demo dir, move 2to3 demo to Tools, and remove all the other Demo content. --- Demo/scripts/fact.py | 49 ------------------------------------------------- 1 file changed, 49 deletions(-) delete mode 100755 Demo/scripts/fact.py (limited to 'Demo/scripts/fact.py') diff --git a/Demo/scripts/fact.py b/Demo/scripts/fact.py deleted file mode 100755 index 2a3bef23c4..0000000000 --- a/Demo/scripts/fact.py +++ /dev/null @@ -1,49 +0,0 @@ -#! /usr/bin/env python3 - -# Factorize numbers. -# The algorithm is not efficient, but easy to understand. -# If there are large factors, it will take forever to find them, -# because we try all odd numbers between 3 and sqrt(n)... - -import sys -from math import sqrt - -def fact(n): - if n < 1: - raise ValueError('fact() argument should be >= 1') - if n == 1: - return [] # special case - res = [] - # Treat even factors special, so we can use i += 2 later - while n % 2 == 0: - res.append(2) - n //= 2 - # Try odd numbers up to sqrt(n) - limit = sqrt(n+1) - i = 3 - while i <= limit: - if n % i == 0: - res.append(i) - n //= i - limit = sqrt(n+1) - else: - i += 2 - if n != 1: - res.append(n) - return res - -def main(): - if len(sys.argv) > 1: - source = sys.argv[1:] - else: - source = iter(input, '') - for arg in source: - try: - n = int(arg) - except ValueError: - print(arg, 'is not an integer') - else: - print(n, fact(n)) - -if __name__ == "__main__": - main() -- cgit v1.2.1