summaryrefslogtreecommitdiffstats
path: root/Demo/scripts/fact.py
diff options
context:
space:
mode:
Diffstat (limited to 'Demo/scripts/fact.py')
-rwxr-xr-xDemo/scripts/fact.py64
1 files changed, 32 insertions, 32 deletions
diff --git a/Demo/scripts/fact.py b/Demo/scripts/fact.py
index 6cc389e..5497f66 100755
--- a/Demo/scripts/fact.py
+++ b/Demo/scripts/fact.py
@@ -8,41 +8,41 @@
import sys
from math import sqrt
-error = 'fact.error' # exception
+error = 'fact.error' # exception
def fact(n):
- if n < 1: raise error # fact() argument should be >= 1
- if n == 1: return [] # special case
- res = []
- # Treat even factors special, so we can use i = i+2 later
- while n%2 == 0:
- res.append(2)
- n = n/2
- # Try odd numbers up to sqrt(n)
- limit = sqrt(float(n+1))
- i = 3
- while i <= limit:
- if n%i == 0:
- res.append(i)
- n = n/i
- limit = sqrt(n+1)
- else:
- i = i+2
- if n != 1:
- res.append(n)
- return res
+ if n < 1: raise error # fact() argument should be >= 1
+ if n == 1: return [] # special case
+ res = []
+ # Treat even factors special, so we can use i = i+2 later
+ while n%2 == 0:
+ res.append(2)
+ n = n/2
+ # Try odd numbers up to sqrt(n)
+ limit = sqrt(float(n+1))
+ i = 3
+ while i <= limit:
+ if n%i == 0:
+ res.append(i)
+ n = n/i
+ limit = sqrt(n+1)
+ else:
+ i = i+2
+ if n != 1:
+ res.append(n)
+ return res
def main():
- if len(sys.argv) > 1:
- for arg in sys.argv[1:]:
- n = eval(arg)
- print n, fact(n)
- else:
- try:
- while 1:
- n = input()
- print n, fact(n)
- except EOFError:
- pass
+ if len(sys.argv) > 1:
+ for arg in sys.argv[1:]:
+ n = eval(arg)
+ print n, fact(n)
+ else:
+ try:
+ while 1:
+ n = input()
+ print n, fact(n)
+ except EOFError:
+ pass
main()