From df46be1b4580869cfe827a54f18545a469adb82c Mon Sep 17 00:00:00 2001 From: Roger Bell_West Date: Mon, 29 Nov 2021 10:15:27 +0000 Subject: Solutions for challenge #141 --- challenge-141/roger-bell-west/python/ch-1.py | 36 ++++++++++++++++++++++++++++ challenge-141/roger-bell-west/python/ch-2.py | 26 ++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100755 challenge-141/roger-bell-west/python/ch-1.py create mode 100755 challenge-141/roger-bell-west/python/ch-2.py (limited to 'challenge-141/roger-bell-west/python') diff --git a/challenge-141/roger-bell-west/python/ch-1.py b/challenge-141/roger-bell-west/python/ch-1.py new file mode 100755 index 0000000000..b1e8726449 --- /dev/null +++ b/challenge-141/roger-bell-west/python/ch-1.py @@ -0,0 +1,36 @@ +#! /usr/bin/python3 + +import unittest + +from math import sqrt + +def factorcount(n): + if n==1: + return 1 + f=2 + s=int(sqrt(n)) + if s*s==n: + s-=1 + f+=1 + for pf in range(2,s+1): + if n % pf == 0: + f += 2 + return f + +def divisors(count,n): + nn=n + a=[] + t=0 + while nn: + t+=1 + if factorcount(t)==count: + a.append(t) + nn-=1 + return a + +class TestDivisors(unittest.TestCase): + + def test_ex1(self): + self.assertEqual(divisors(8,10),[24,30,40,42,54,56,66,70,78,88],'example 2') + +unittest.main() diff --git a/challenge-141/roger-bell-west/python/ch-2.py b/challenge-141/roger-bell-west/python/ch-2.py new file mode 100755 index 0000000000..1bcf983c5f --- /dev/null +++ b/challenge-141/roger-bell-west/python/ch-2.py @@ -0,0 +1,26 @@ +#! /usr/bin/python3 + +import unittest + +def likenumber(source,factor): + s=[int(i) for i in str(source)] + m=len(s) + n=0 + for mask in range(1,(1<