python的取餘演算法原理 python 取餘演算法

2021-10-21 06:57:20 字數 1548 閱讀 6206

#-*- coding:utf-8-*-

created on 2012-12-28

取餘。取乙個任意小於1 美元的金額,然後計算可以換成最少多少枚硬幣。硬幣有1

美分,5 美分,10 美分,25 美分四種。1 美元等於100 美分。舉例來說,0.76 美元換算結果

應該是 3 枚25 美分,1 枚1 美分。類似76 枚1 美分,2 枚25 美分+2 枚10 美分+1 枚5 美分+1

枚1 美分這樣的結果都是不符合要求的

@author : admin

dollar = 100

dol = int(raw_input('enter a num 0 < cent < 100: '))

#先對大數25美分進行取餘運算

if dol // 25 > 0:

#得到25的商數

print '25美分的硬幣有',dol//25

#用餘數再對10進行地板除,計算10美分的硬幣有幾枚

if (dol % 25) // 10 > 0:

print '10美分的硬幣有',(dol % 25) // 10,'枚'

dol5 = dol % 25 % 10 // 5

if ((dol % 25) % 10) // 5 > 0:

print '5美分的硬幣有',dol % 25 % 10 // 5,'枚'

print '1美分的硬幣有',(dol % 25) % 10 % 5,'枚'

else:

print '1美分的硬幣有',(dol % 25) % 10 % 5,'枚'

#判斷如果(dol % 25) // 10 < 0的時候,繼續找5美分的和1美分的硬幣

else:

print '10美分的硬幣有0枚'

if dol % 25 // 5 > 0:

print '5美分的硬幣有',dol % 25 // 5,'枚'

print '1美分的硬幣有',dol % 25 % 5,'枚'

else:

print '1美分的硬幣有',dol % 25,'枚'

else:

if (dol % 25) // 10 > 0:

print '沒有25美分的硬幣'

print '10美分的硬幣有',(dol % 25) // 10,'枚'

if (dol % 25) % 10 // 5 > 0:

print  '5美分的硬幣有',dol % 25 % 10 // 5,'枚'

print '1美分的硬幣有',(dol % 25) % 10 % 5,'枚'

else:

print '1美分的硬幣有',(dol % 25) % 10 % 5,'枚'

else:

if ((dol % 25) % 10) // 5 > 0:

print '5美分的硬幣有',(dol % 25) % 10 // 5,'枚'

print '1美分的硬幣有',(dol % 25) % 10 % 5,'枚'

else:

print '1美分的硬幣有',(dol % 25) % 10 % 5,'枚'

python的取餘演算法原理 python 取餘演算法

coding utf 8 created on 2012 12 28 取餘。取乙個任意小於1 美元的金額,然後計算可以換成最少多少枚硬幣。硬幣有1 美分,5 美分,10 美分,25 美分四種。1 美元等於100 美分。舉例來說,0.76 美元換算結果 應該是 3 枚25 美分,1 枚1 美分。類似7...

Python的取餘運算(3 8)

今天看python課程發現python取余是這樣的,我整個人都凌亂了,腦補了各種運算的原因,後來找資料了解到了是這樣的運算邏輯 首先觀察到取餘的最終結果與除數的正負相關,除數為正最後的結果就為正,除數為負最後的結果就為負 那麼為什麼10 3取餘的結果為1,10 3的結果為 2呢?值的大小是由什麼原因...

python整除和取餘

向下取整 int 向0取整 正數的取餘比較直接 print 123 10 3這裡結果為3。但是換為負數取餘,情況就有所不同 print 123 10 7 print 123 10 3這裡面第二條是我們一般意義上的取餘操作。這裡也特別標註一下,如果涉及到負數取余要用上述解決辦法。那麼我們看第一條,結果...