樹洞 Tree Hole 2.0

Reading, Caffeine, Alcohol, Peanuts, Cynicism…

人潮如果有方向 — July 20, 2018

人潮如果有方向

-

~ 敻虹 · 敻虹詩集 · 水紋 ~

我忽然想起你
但不是劫後的你,萬花盡落的你

為什麼人潮,如果有方向
都是朝著分散的方向
為什麼萬燈謝盡,流光流不來你

稚傻的初日,如一株小草
而後綠綠的草原,移轉為荒原
草木皆焚:你用萬把剎那的
情火

也許我只該用玻璃雕你
不該用深湛的凝想
也許你早該告訴我
無論何處,無殿堂,也無神像

忽然想起你,但不是此刻的你
已不星華燦發,已不錦繡
不在最美的夢中,最夢的美中

忽然想起
但傷感是微微的了
如遠去的船
船邊的水紋……

Advertisements
關於階乘的有趣事實 —

關於階乘的有趣事實

早晨讀推,看到 John D. Cook 顧問公司的推特帳號 @AlgebraFact,講了一個和階乘有關的有趣事實。我們直接看例子, 40585 = 4! + 0! + 5! + 8! + 5!, 構成這個整數的所有數字的階乘的和剛好與原整數相等。符合這個要求的數字還有 1、2 和 145。

1! = 1
2! = 2
145 = 1! + 4! +5!
40585 = 4! + 0! + 5! + 8! + 5!

依照定義,一個非負整數階乘是所有小於和等於這個數的整數的乘積,0 的階乘則定義為1。如果寫一隻小程式來計算階乘,最簡潔的方式當然是利用遞迴的威力,這隻程式看起來可能像下面從 GitBook 上某個 Python3 教程 範例(我做了少許修改,原範例沒有考慮 0!):

#!/usr/bin/env python
import sys
 
sys.setrecursionlimit(5000)
 
def factorial(n):
    if n == 1 | n == 0:
        return 1
    else:
        return n * factorial(n-1)

(其實,上面的函數還不能做為 Standard Library 的一部分,因為沒有處理防呆,比如 factorial(-1) )

@AlgebraFact那一之後,有不少網友的回應和議論,最有意思的是網友 @rqu 寫了一隻 python 程式,算出來7位數以內的正整數裡,只有 1、2、145 和 40585符合上述條件。他的程式基礎是這樣的,所有長度為 n 的正整數 N ,所有數字的階乘的和的上限是 n \times 9! ,用窮舉的方式一個一個比對,反正 number crunching 是電腦最擅長的事情之一,比人做的又快又好。

from math import log, factorial

# 10**7 > 9!*7. 
# log(factorial(9)*7,10) < 7
max=factorial(9)*7 
# lookup table for n!
lut=[factorial(x) for x in range(10)]

def check(x):
  return sum(lut[int(a)] for a in str(x))==x

for i in range(max):
  if check(i): print i
  #print the progress 
  if i%100000==0: print "progress:", i, "out of", max

計算出來的結果如下:

-

我是水 — July 19, 2018

我是水

-

~ 洛夫 · 他們怎麼玩詩? · 我是水 ~

我是水
水是我流浪的腳
我是泡沫
泡沫是我多疑的眼
我是荇藻
荇藻飾我最初的胎毛
我是泥沙
泥沙是我吵鬧的童年
我是魚
魚是我跳舞的詩
我是水鳥
水鳥是我淘氣的妹妹
我是帆
帆是我帶著翅膀的夢
我是船
船是我載滿鄉愁的家
我是夕陽
夕陽是我讀完的書
我是月光
月光是我做愛後悲涼的身體

關於貓的相對論第三首 — July 16, 2018
假做真時真亦假 —