摘要:首先假設(shè)有一個四位數(shù)為,四位分別為,則得到一個數(shù),我們使它遞歸到最后只剩一位數(shù)字,假設(shè)為,則所以數(shù)字所有位數(shù)遞歸累加至一位時的結(jié)果為回頭再看別人的解法還是一臉茫然,因為對操作符的運行順序不明白。
將給定自然數(shù)的所有位相加直到數(shù)字最后只剩一位。
16 => 1 + 6 => 7; 942 => 9 + 4 + 2 => 15 => 1 + 5 => 6 132189 => 1 + 3 + 2 + 1 + 8 + 9 => 24 => 2 + 4 => 6
看了別人給出的解法:
num % 9 or n and 9
看得我一臉茫然,不知道發(fā)生了什么,在網(wǎng)上查找了一番理解了下這個算法。
首先假設(shè)有一個四位數(shù)為n,四位分別為a、b、c、d,則:
n % 9 = (999a + 99b + 9c + a + b + c + d) % 9 = (a + b + c + d) % 9
(a + b + c + d)得到一個數(shù),我們使它遞歸到最后只剩一位數(shù)字,假設(shè)為k,則:
n % 9 = k % 9
所以數(shù)字n所有位數(shù)遞歸累加至一位時的結(jié)果k為:
if n % 9 == 0: k = 9 elif n == 0: k = 0 else: k = n % 9
回頭再看別人的解法:
num % 9 or n and 9
還是一臉茫然,因為對操作符的運行順序不明白。又去查了下:
Operation | Result |
---|---|
x or y | if x is false, then y, else x |
x and y | if x is false, then x, else y |
not x | if x is false, then True, else False |
優(yōu)先級關(guān)系:or < and < not,同一優(yōu)先級默認從左往右計算
再回頭看別人的解法,應(yīng)該是這樣:
num % 9 or (n and 9)
所以,這種還是多加括號,免得產(chǎn)生歧義,或者把我這種小白繞暈。
以下為參考鏈接
https://segmentfault.com/q/10...
http://blog.csdn.net/qq_28267...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/40942.html
摘要:查找表查找表相關(guān)概念查找表是由同一類型的數(shù)據(jù)元素或記錄構(gòu)成的集合。由于集合中的數(shù)據(jù)元素之間存在著完全松散的關(guān)系,因此查找表是一種非常靈便的數(shù)據(jù)結(jié)構(gòu)。缺點平均查找長度較大。索引順序表的查找若以索引順序表表示靜態(tài)查找表,則查找可以用分塊查找。 查找表 search table 查找表相關(guān)概念 查找表是由同一類型的數(shù)據(jù)元素(或記錄)構(gòu)成的集合。由于集合中的數(shù)據(jù)元素之間存在著完全松散的關(guān)系,因...
摘要:查找表查找表相關(guān)概念查找表是由同一類型的數(shù)據(jù)元素或記錄構(gòu)成的集合。由于集合中的數(shù)據(jù)元素之間存在著完全松散的關(guān)系,因此查找表是一種非常靈便的數(shù)據(jù)結(jié)構(gòu)。缺點平均查找長度較大。索引順序表的查找若以索引順序表表示靜態(tài)查找表,則查找可以用分塊查找。 查找表 search table 查找表相關(guān)概念 查找表是由同一類型的數(shù)據(jù)元素(或記錄)構(gòu)成的集合。由于集合中的數(shù)據(jù)元素之間存在著完全松散的關(guān)系,因...
摘要:而大寫字母,就是第個,也就是二進制的,對應(yīng)的十六進制表示就是。在中文世界里,最典型的就是手持兩把錕斤拷,口中疾呼燙燙燙的典故。既然今天要徹底搞清楚編碼知識,我們就來弄清楚錕斤拷和燙燙燙的來龍去脈。參考深入淺出計算機組成原理 showImg(https://image-static.segmentfault.com/206/872/2068726052-5d5922b2effb9_art...
摘要:原碼補碼和反碼原碼一個數(shù)在計算機中是以二進制的形式存在的,其中第一位存放符號正數(shù)為負數(shù)為。中的位運算在中按位操作符會將其操作數(shù)轉(zhuǎn)成補碼形式的有符號位整數(shù)。原文鏈接由扯到中的位運算 這個話題的由來是2016年3月份的時候 NPM 社區(qū)發(fā)生了‘left-pad’事件,不久后社區(qū)就有人發(fā)布了用來補救的,也是現(xiàn)在大家能用到的 left-pad 庫。 最開始這個庫的代碼是這樣的。 module....
摘要:將加法和加上校驗位能被整除。下面分別分析出生日期和校驗位檢查生日日期是否正確輸入的身份證號里出生日期不對將位身份證轉(zhuǎn)成位校驗位按照的規(guī)定生成,可以認為是數(shù)字。校驗位按照的規(guī)定生成,可以認為是數(shù)字。表示全部為中文為不全是中文,或沒有中文。 判斷是否是合理的銀行卡卡號 //Description: 銀行卡號Luhm校驗 //Luhm校驗規(guī)則:16位銀行卡號(19位通用): // 1.將...
閱讀 1974·2021-11-22 19:20
閱讀 2618·2021-11-22 13:54
閱讀 1932·2021-09-04 16:40
閱讀 1814·2021-08-13 11:54
閱讀 2629·2019-08-30 15:55
閱讀 3456·2019-08-29 13:51
閱讀 519·2019-08-29 11:09
閱讀 2997·2019-08-26 14:06