#找出具有下列各性質的最小正整數 n:它的最後一位數字是6,如果把最後的6去掉並放在最前面所得到的數是原來數的4倍。
#-*-coding:utf8;-*-
# 第一種是網上的一種暴力解法:每次加10,然後判斷是否符合條件
print("this is console module")
from itertools import count
for r in count(6,10):
# print(r)
if int('6'+str(r)[:-1])/r==4.0:
print(r)
break
print('中文')
# 第二種,是我的思路,每次將div的最低位補到最後面,然後計算,知道mod為0就結束迴圈。
start = 6
end = start
mod = 1
count = 0
while mod != 0:
count += 1
div, mod = divmod(end, 4)
div = div % 10
end = end * 10 + div
print(count, div, end)
print(end-start*pow(10, count)) # 去掉最高位的start
演算法初步(一)尋找最小正整數
琪琪喜歡旅遊。有一天,她發現了一盞神燈,不幸的是,燈裡的精靈不是那麼善良。琪琪必須回答乙個問題,然後精靈會實現她的乙個夢想。問題是 給你乙個整數,你需要刪除 m 位數。剩下的的數字將形成乙個新的整數,你要讓這個整數最小。不允許改變量字的順序。現在你能幫助琪琪實現她的夢想嗎?給定兩個正整數 x 和 m...
最小正整數
有乙個整數,除5餘3 除3餘2 除2餘1,求滿足條件的最小正整數。那麼while 1 其中1代表乙個常量表示式,他永遠不會等於0。所以,迴圈會一直執行下去。除非你設定break等類似的跳出迴圈語句迴圈 才會中止 include 最小正整數 續 加速 include using namespace s...
c獲取最大正整數,最小負整數
最大正整數,即最高位 符號位 為0,其餘位皆為1.1所有位皆為1 1右移一位即為最大正整數 但是直接右移是算術右移 所謂算術右移,是指左邊補符號位 所以要先強制轉化成無符號,再右移,就是邏輯右移了 所謂邏輯右移,是指左邊補0 int max unsigned 1 1 最小負整數,最高位為1,其餘皆為...