diff options
Diffstat (limited to 'challenge-133/paulo-custodio/python')
| -rw-r--r-- | challenge-133/paulo-custodio/python/ch-1.py | 84 | ||||
| -rw-r--r-- | challenge-133/paulo-custodio/python/ch-2.py | 14 |
2 files changed, 49 insertions, 49 deletions
diff --git a/challenge-133/paulo-custodio/python/ch-1.py b/challenge-133/paulo-custodio/python/ch-1.py index 69d2f7e92b..1b905ee574 100644 --- a/challenge-133/paulo-custodio/python/ch-1.py +++ b/challenge-133/paulo-custodio/python/ch-1.py @@ -1,42 +1,42 @@ -#!/usr/bin/env python3
-
-# TASK #1 > Integer Square Root
-# Submitted by: Mohammad S Anwar
-# You are given a positive integer $N.
-#
-# Write a script to calculate the integer square root of the given number.
-#
-# Please avoid using built-in function. Find out more about it here.
-#
-# Examples
-# Input: $N = 10
-# Output: 3
-#
-# Input: $N = 27
-# Output: 5
-#
-# Input: $N = 85
-# Output: 9
-#
-# Input: $N = 101
-# Output: 10
-
-# solution: https://en.wikipedia.org/wiki/Integer_square_root
-
-import sys
-
-def isqrt(n):
- x0 = n >> 1 # initial estimate
- if x0 == 0:
- return n
-
- # loop
- x1 = int(x0 + n/x0) >> 1
- while x1 < x0:
- x0 = x1;
- x1 = int(x0 + n/x0) >> 1
-
- return x0
-
-n = int(sys.argv[1])
-print(isqrt(n))
+#!/usr/bin/env python3 + +# TASK #1 > Integer Square Root +# Submitted by: Mohammad S Anwar +# You are given a positive integer $N. +# +# Write a script to calculate the integer square root of the given number. +# +# Please avoid using built-in function. Find out more about it here. +# +# Examples +# Input: $N = 10 +# Output: 3 +# +# Input: $N = 27 +# Output: 5 +# +# Input: $N = 85 +# Output: 9 +# +# Input: $N = 101 +# Output: 10 + +# solution: https://en.wikipedia.org/wiki/Integer_square_root + +import sys + +def isqrt(n): + x0 = n >> 1 # initial estimate + if x0 == 0: + return n + + # loop + x1 = int(x0 + n/x0) >> 1 + while x1 < x0: + x0 = x1; + x1 = int(x0 + n/x0) >> 1 + + return x0 + +n = int(sys.argv[1]) +print(isqrt(n)) diff --git a/challenge-133/paulo-custodio/python/ch-2.py b/challenge-133/paulo-custodio/python/ch-2.py index 1cab0e4e43..adfc274f4a 100644 --- a/challenge-133/paulo-custodio/python/ch-2.py +++ b/challenge-133/paulo-custodio/python/ch-2.py @@ -3,13 +3,13 @@ # TASK #2 > Smith Numbers # Submitted by: Mohammad S Anwar # Write a script to generate first 10 Smith Numbers in base 10. -# +# # According to Wikipedia: -# +# # In number theory, a Smith number is a composite number for which, in a given -# number base, the sum of its digits is equal to the sum of the digits in its +# number base, the sum of its digits is equal to the sum of the digits in its # prime factorization in the given number base. -# +# def is_prime(n): if n <= 1: @@ -35,10 +35,10 @@ def get_prime_factors(n): n //= i else: i += 1 - + if n>1: prime_factors.append(n) - + return prime_factors def is_smith(n): @@ -50,7 +50,7 @@ def is_smith(n): fact_digits = [int(x) for x in factors] sum2 = sum(fact_digits) return sum1==sum2 - + n=1 count=0 while count<10: |
