>>> a // b
# //:是排除餘數僅保留商的運算
>>>
123 % 10
3>>>
123 // 10
12>>>
12 % 10
2>>>
12 // 10
1>>>
1%10
1>>>
1// 10
0
>>> a % 2 == 0
>>> a//2 * 2 == a
常規的做法是對 2 取模,
if
x%2 == 0:
使用位操縱(bit manipulation)的方法為,讓該數與 1 相與:
if x & 1 == 0:
def
pos(x, m):
r =
while x:
x //= m
return r
具體見 可公度線段與歐幾里得(euclid)演算法
def
euclid
(a, b):
if a < b:
t = a
a = b
b = t
return b if a % b == 0
else euclid(b, a%b)
儲存輾轉相除過程中經歷的數:
def
euclid
(a, b):
if a < b:
t = a
a = b
b = t
r =
if a % b != 0:
r.extend(euclid(b, a%b))
return r
swap
(a, b)
如果不使用異或演算法
的話,通常需要借助乙個中間變數;
t = a # 首先對 a 的值進行備份,儲存到中間變數(t)
a = b # 將 b 的值傳遞到 a,因為已對 a 的值進行記錄,此時可放心地對 a 的值進行覆蓋
b = t # 將 t 中儲存的 a 的值傳遞給b
matlab 實用程式片段
totnum 1000 batchsize 100 numbatch totnum batchsize numdim 12 testbatchdata zeros batchsize,numdim,numbatch 三維矩陣儲存全部的 batch 資訊 size testbatchdata 100,...
PostgreSQL的實用程式
postgresql的實用程式 1 使用者實用程式 createdb 建立乙個新的postgresql的資料庫 和sql語句 create database 相同 createuser 建立乙個新的postgresql的使用者 和sql語句 create user 相同 dropdb 刪除資料庫 d...
基本unix實用程式
more命令 more命令是先在終端上顯示一螢幕,最後一行相當於提示行,比如 more more 12 當顯示暫停後可以輸入一下命令來繼續操作,基本操作如下 1 空格 顯示下一屏 2 回車 顯示下一行 3 q 退出程式 4 pattern 搜尋指定模式的字串 5 繼續查詢指定模式的字串 6 h he...