我有一個Python的任務,需要輸入2個用戶輸入的數字(確保第一個數字小於第二個數字),並查找第一個數字的倍數和第二的除數..我只允許使用一個while循環(新條件我今天老師又補充道..)我和一個做了它的循環:查找2個用戶輸入數字的倍數和除數的數字
N_small = int(input("Enter the first number: "))
N_big = int(input("Enter the second number: "))
numbers = ""
if N_small > N_big:
print("The first number should be smaller. Their value will be swapped.")
N_small, N_big = N_big, N_small
for x in range(N_small, N_big+1, N_small):
if N_big % x == 0:
numbers += str(x) + " "
print("The numbers are: ", numbers)
我不要求對於如何使用while循環做到這一點的答案 - 但我只是需要一兩個提示來弄清楚如何開始這樣做...任何人都可以啓發我嗎?
感謝
提示:首先找到第二個數字的約數。爲了找到除數,從2到sqrt(n2)(爲什麼?)遍歷所有數字,並保留那些當n2除以問題數字時餘數爲零的原因(爲什麼?)。然後循環瀏覽迄今爲止保留的那些數字,並保留那些除以n1的餘數爲零的數字。 – 2014-09-18 23:31:52
@RobertDodier:我想他問的是如何用等效的while循環替換他的'for'循環,而不是用於不同的算法(就像他現有的代碼那樣自然用'for'循環編寫)。 – abarnert 2014-09-18 23:34:19