diff options
| author | 冯昶 <fengchang@novel-supertv.com> | 2023-11-13 10:15:17 +0800 |
|---|---|---|
| committer | 冯昶 <fengchang@novel-supertv.com> | 2023-11-13 10:15:17 +0800 |
| commit | 41f99d3c168e8def8c2a799c592282acf0d275a8 (patch) | |
| tree | e862f32c73ecc3b39546d8f2e40268097bdc84eb /challenge-241/eric-cheung/python | |
| parent | 9831ad5b94643aec63e30e720b83dff7a5eac18b (diff) | |
| parent | f4d46d9aa21b95dbb99eec92f338d157273fbbdb (diff) | |
| download | perlweeklychallenge-club-41f99d3c168e8def8c2a799c592282acf0d275a8.tar.gz perlweeklychallenge-club-41f99d3c168e8def8c2a799c592282acf0d275a8.tar.bz2 perlweeklychallenge-club-41f99d3c168e8def8c2a799c592282acf0d275a8.zip | |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'challenge-241/eric-cheung/python')
| -rwxr-xr-x | challenge-241/eric-cheung/python/ch-1.py | 28 | ||||
| -rwxr-xr-x | challenge-241/eric-cheung/python/ch-2.py | 40 |
2 files changed, 68 insertions, 0 deletions
diff --git a/challenge-241/eric-cheung/python/ch-1.py b/challenge-241/eric-cheung/python/ch-1.py new file mode 100755 index 0000000000..6e19580d14 --- /dev/null +++ b/challenge-241/eric-cheung/python/ch-1.py @@ -0,0 +1,28 @@ +
+from itertools import combinations
+
+def IsAriTriplet (arrInput, nDiffInput):
+ if arrInput[1] - arrInput[0] != nDiffInput:
+ return False
+ if arrInput[2] - arrInput[1] != nDiffInput:
+ return False
+ return True
+
+
+## Example 1
+## arrNum = [0, 1, 4, 6, 7, 10]
+## nDiff = 3
+
+## Example 2
+arrNum = [4, 5, 6, 7, 8, 9]
+nDiff = 2
+
+
+arrCombList = combinations(arrNum, 3)
+arrOutputList = []
+
+for arrLoop in list(arrCombList):
+ if IsAriTriplet(arrLoop, nDiff):
+ arrOutputList.append(arrOutputList)
+
+print (len(arrOutputList))
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)
|
