演算法 實用程式片段

2021-07-09 16:22:49 字數 1260 閱讀 8838

>>> 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...