From a3d346ab5447bac837bb2086fdaea12bd8fbe495 Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Tue, 31 Oct 2023 17:28:13 +0000 Subject: - Added solutions by E. Choroba. - Added solutions by Robbie Hatley. - Added solutions by rcmlz. - Added solutions by Mark Anderson. - Added solutions by Lubos Kolouch. - Added solutions by W. Luis Mochan. - Added solutions by David Ferrone. - Added solutions by Peter Campbell Smith. - Added solutions by Kjetil Skotheim. - Added solutions by Dave Jacoby. - Added solutions by Niels van Dijke. - Added solutions by Packy Anderson. - Added solutions by Luca Ferrari. - Added solutions by Thomas Kohler. - Added solutions by Ali Moradi. - Added solutions by Roger Bell_West. --- challenge-241/eric-cheung/python/ch-2.py | 40 ++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100755 challenge-241/eric-cheung/python/ch-2.py (limited to 'challenge-241/eric-cheung/python/ch-2.py') diff --git a/challenge-241/eric-cheung/python/ch-2.py b/challenge-241/eric-cheung/python/ch-2.py new file mode 100755 index 0000000000..a1eb778bf5 --- /dev/null +++ b/challenge-241/eric-cheung/python/ch-2.py @@ -0,0 +1,40 @@ + +from math import sqrt + +def GetPrimeFact(nInput): + if nInput < 2: + return [] + if nInput == 2: + return [2] + + ## ====== ## + nNum = nInput + arrOuput = [] + while nNum % 2 == 0: + arrOuput.append(2) + nNum = int(nNum / 2) + ## ====== ## + + ## ====== ## + nDiv = 3 + nRoot = int(sqrt(nNum)) + while nDiv < nRoot + 1: + if nNum % nDiv == 0: + arrOuput.append(nDiv) + nNum = int(nNum / nDiv) + else: + nDiv = nDiv + 2 + ## ====== ## + + return arrOuput + +arrInput = [11, 8, 27, 4] + +for nRowIndx in range(0, len(arrInput) - 1): + for nColIndx in range(nRowIndx + 1, len(arrInput)): + if len(GetPrimeFact(arrInput[nRowIndx])) > len(GetPrimeFact(arrInput[nColIndx])) or len(GetPrimeFact(arrInput[nRowIndx])) == len(GetPrimeFact(arrInput[nColIndx])) and arrInput[nRowIndx] > arrInput[nColIndx]: + nTemp = arrInput[nRowIndx] + arrInput[nRowIndx] = arrInput[nColIndx] + arrInput[nColIndx] = nTemp + +print (arrInput) -- cgit