我先用求三個整數的最大公約數為例。
首先利用for迴圈來進行判斷這三個整數可以被那些數整除
**如下:
x,y,z=eval(input("請輸入三個整數(用逗號隔開):"))
ma=max(x,y,z)
ls=for i in range(2,ma):
a=x%i
b=y%i
c=z%i
接下來一步則是將相同的i值放到列表ls中。
**如下:(if語句要在for迴圈下執行)
if a==0 and b==0 and c==0:
想到可能會遇到空列表(及無最大公約數)的情況,輸出前還需要進行一下判斷。
if ls==:這樣完成了所有**的書寫。print("無最大公約數")
else:
print(max(ls))
完整**:
x,y,z=eval(input("請輸入三個整數(用逗號隔開):"))
ma=max(x,y,z)
ls=for i in range(2,ma):
a=x%i
b=y%i
c=z%i
if a==0 and b==0 and c==0:
if ls==:
print("無最大公約數")
else:
print(max(ls))
一組數排序
小夥伴們剛接觸到c語言程式設計時,排序肯定是會經常遇到的問題型別,這裡貼出氣泡排序和選擇排序的 氣泡排序bubble sort 動態感覺上是最大值 或最小值 經過依次遍歷後,不斷下沉 或上浮 出來。第一次遍歷,這組數最大的 或最小值 顯現出來,出現在陣列的開頭或結尾,然後可以對剩下的陣列在進行一遍操...
求一組數的所有組合。
例如1 2 3的所有組合數,有1 2 3 12 13 23 123共7中。演算法思路 n個數能夠構成長度為1的組合 長度為2的組合 長度為n的組合。在求n個數的長度為m m 1 m n 的組合時,我們把這n個數分成兩部分 第乙個數和其餘的所有數。如果組合裡包含第乙個數,則下一步在剩餘的數中選取m 1...
除去一組數中的重複項
1.利用set集合將重複數字去掉。public static void remove int a for integer integer s 2.利用map集合計算數字重複的個數。public static void removeandtimes int a else for entryentry ...