在數(shù)學(xué)當(dāng)中桩皿,有一種非常有趣的數(shù)學(xué)現(xiàn)象,就是任何奇數(shù)幢炸,都可以被數(shù)字9所組成的數(shù)字進(jìn)行整除泄隔,了解了這個原理,我們就好判斷這個程序應(yīng)該如何去編寫了宛徊。
首先佛嬉,我們可以指定一個變量逻澳,來控制數(shù)字9所組成的數(shù)字,比如9,99,999等暖呕,接著赡盘,我們來使用另一個變量,開控制輸入的奇數(shù)數(shù)字缰揪,然后再讓這兩個變量進(jìn)行循環(huán)對比,這樣就可以找出我們輸入的奇數(shù)葱淳,可以被多少個9所整除啦钝腺!
具體實現(xiàn)的代碼如下圖所示:
# 輸入一個奇數(shù),然后判斷最少幾個 9 除于該數(shù)的結(jié)果為整數(shù)赞厕。
if __name__ == '__main__': # 輸入一個程序的入口
n = 1 # 定義n初始值為1
m = int(input("請輸入一個整數(shù):")) # 輸入一個整數(shù)艳狐,這里一般為奇數(shù),按題目要求
while True: # 做一個while true的循環(huán)
i = int("9" * n) # i為n個9皿桑,也就是9或99毫目、999,以此類推
if i % m == 0: # 如果i除以m(也就是奇數(shù))的余數(shù)為0
print("%d可以被%d整除"%(m,i)) # 打印出這個語句
print("%d可以被%d個9所組成的數(shù)整除"%(m,n))
break # 否則終止诲侮,不執(zhí)行上述語句
n += 1 # n+1镀虐,繼續(xù)執(zhí)行,也即是9不能整除沟绪,考慮99刮便,或者999,以此類推
具體執(zhí)行的結(jié)果如下所示:
C:\Python\python.exe "C:/Users/Administrator/Desktop/Python 練習(xí)實例100題/練習(xí)實例85.py"
請輸入一個整數(shù):17
17可以被9999999999999999整除
17可以被16個9所組成的數(shù)整除
Process finished with exit code 0
北京市通州區(qū)京貿(mào)中心
2020年6月25日