Jellyland

Codewars上有趣的题

最近一段时间常在Codewars上刷题,也因而发现了几道有意思的题。

Sum of Digits / Digital Root

题目并不难,就是求数根(“數根是將一正整數的各個位數相加(即橫向相加),若加完後的值大於10的話,則繼續將各位數進行橫向相加直到其值小於十為止,或是,將一數字重複做數字和,直到其值小於十為止,則所得的值為該數的數根。” ——WIkipedia)。按照定义来做的话,也其实没什么难的,用python的话,无非就是分拆成字符,再转回数字然后相加,如此往复直到位数为1。然而在做完之后,我在Solutions里发现了这样两个答案:

n != 0且n != 9时,n and 9 == 9,n % 9 or 9 == n % 9;

n == 0时,n and 9 == 0,n % 9 or 0 == 0;

n == 9时,n and 9 == 9,n%9 or 9 == 9;


Don’t rely on luck.

这题乍一看,感觉毫无技术含量可言,纯粹是看运气,他用randint从1到100随机抽一个数出来,让你也猜一个数,两数相等即可通过。

我想了一会儿,好像也没什么别的办法,就在guess后面填了个42,然后一遍遍地提交,在提交了许多许多许多次之后,终于对面random出了42,于是过了。过了之后当然要看看别人是怎么解的,在看了几个答案之后,我笑了很久……

#Codewars