數論人生

數論是一門學科,也是我的人生。有人把酒論英雄,我用數字描天下。
正文

一個數的地板和天花板

(2022-03-07 10:45:58) 下一個

一個實數的取整有兩種方式,一是向下取整,fl(x),稱為floor of x (地板函數),即是x的整數部分,x = fl(x) + dp(x), 0 ≤ dp(x) < 1(x的小數部分);另一個是向上取整,cl(x),稱為ceiling of x (天花板),即是x = cl(x) – cp(x), 0 ≤ cp(x) < 1。當x為整數時,fl(x) = cl(x);但x不是整數時,cl(x) = fl(x) + 1。dp(x)和cp(x)都是周期為1的函數;fl(x)和cl(x)都是非初等函數,不在任何國家的數學大綱內,卻是數學競賽出題者的最愛。

fl(x)的主要應用在於 “濾波”, 即在一種量的連續分布中,去掉某些成分後,剩餘部分的數學表示。對於離散的有理數m/n,fl(m/n) 是正整數m除以正整數n的商,餘數m%n (按C語言的記號) 自然就是 m – nfl(m/n) 。對任意實數x, 1/2 – dp(x)是可以用Fourier級數表示的,如果x非整數,它就等於sigma{sin(2πnx)/nπ, n從1加到無窮} 。

例如,有人把完全平方數從正整數列中去掉,得到2, 3, 5, 6, 7, 8, 10, …;它的第n項就是n + fl(sqrt(n)),若n ≤ fl^2(sqrt(n)) + fl(sqrt(n));否則為n + 1 + fl(sqrt(n))。也可以把任意k次冪去掉,剩下的數用地板函數表出。也有人把正整數n重複n次排成一行:1, 2, 2, 3, 3, 3, 4, 4, 4, 4, …, 它的第n項就是fl(sqrt(2n) + 0.5), 也可以表示為fl[(1 + sqrt(8n – 7))/2]。在2011年的Euclid競賽中的第九題,就是對此數列性質的討論。

還有人把前n個自然數排成一圈(圓形),從1開始,按照順時針方向,去一個留一個,最後被去掉的那個數記為L(n) (2022年Cayley Contest最後一題)。顯然,L(1) = 1, 當n > 1時,第一輪過後剩下的是全部的偶數2, 4, …, 2fl(n/2) ;因此L(n) = 2L(fl(n/2)) ;自然有L(2k) = L(2k + 1)。這個遞推式的解很簡單,就是L(2^m + h) = 2^m,對所有非負整數h < 2^M。

在1996年的AIME,2005年的Euclid競賽中,出題者把1到n的自然數排成一行,從1開始,從左到右,留一個去一個;然後再回過頭來,從右到左,留一個去一個;如此反複,直到最後一個數。其編號記為R(n)。顯然,R(1) = 1;R(2k – 1) = R(2k)。對於n = 2k,第一輪過後,剩下的是k個奇數:1, 3, …, 2k – 1;如果從右到左將它們重新編號,就可發現一個規律:[R(2k) + 1]/2 + R(k) = k + 1,即R(2k) = 2k + 1 – 2R(k)。寫成一般式子,有R(n) = 2cl(n/2) + 1 – 2R(cl(n/2))。在AIME的那道題中,n = 1024是2的冪,很容易解出。對於一般的n,可以把它寫為二進製數,得出遞推公式。

另一個應用是計數:滿足不等式g(n) ≤ x的正整數n的個數為fl(g^(-1)(x))。例如,在n!中,它能夠被一個質數p除盡的最高次數為fl(n/p) + fl(n/p^2) + fl(n/p^3) + … 直到0.因此n! 末尾的 0的個數為fl(n/5) + fl(n/25) + fl(n/125) + fl(n/625) + …。計算此和式的辦法是將n用p進位製表示,結果就是逐次去掉一個低位數字,依次把各位數字從低位到高位相加。

再一個應用是整除性的判定:正整數m被n整除就是dp(m/n) = (m%n)/n = 0。根據Wilson定理,一個數p為質數的充分必要條件是,dp{[(n – 1)! + 1]/n} = 0;但階乘太大,難於計算。如果用平方根判別法,p為質數的條件是fl(p/q) 不等於0,對有質數q≤ sqrt(p)。給定前n個質數,可以用地板函數表示出下一個質數。

涉及到fl(x)的計算或證明,實際上都是解不等式。有興趣的話,不妨試試這幾給問題:

(1)給定正整數n. 問集合{fl(k^2/n): k = 1, 2, …, n}中,有多少個不同的整數值?

(2)解方程 fl(3/x) + fl(4/x) = 5;

(3)解方程xfl(x) = 7;

(4)給定正整數n,定義一個數列t(k) = 2n(k^2%n) + k,對k = 1, 2, …, n;請找出所有正整數n,使得有四個不同的正整數i, j, k, m ≤ n, 滿足t(i) + t(j) = t(k) + t(m)。

最後一題是Euclid競賽2017年的問題。在這個競賽中,許多問題都沒有一個初等函數表達式。但是,如果能夠使用地板/天花板的話,則隻剩計數問題難以表出了。時至今日(3月7日),離此項競賽還有一個月的時間,若能弄清表達式的話,一定滿分可達!

[ 打印 ]
閱讀 ()評論 (0)
評論
目前還沒有任何評論
登錄後才可評論.