国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

關(guān)于冪等差型水仙花數(shù)的研究

2021-11-15 15:31韋佳玉楊健蔣劍軍
現(xiàn)代計算機 2021年27期
關(guān)鍵詞:公差位數(shù)水仙花

韋佳玉,楊健,蔣劍軍

(銅陵學(xué)院數(shù)學(xué)與計算機學(xué)院,銅陵 244061)

0 引言

水仙花數(shù)是一類廣為人知的正整數(shù)。最初的水仙花數(shù)是指一個3位數(shù),它各位數(shù)字的立方和等于該數(shù)自身[1]。例如,153就是一個水仙花數(shù),因為153=13+53+33。眾所周知,3位水仙花數(shù)有4個:153、370、371和407。

水仙花數(shù)是如此的有趣,以致在眾多的科普學(xué)者中口口相傳,也成為編程愛好者推崇的經(jīng)典案例。比如,談祥柏在文獻[2]中對水仙花數(shù)、黑洞與振蕩方面的知識做了科普;馬麗燕等在文獻[3]中以水仙花數(shù)為例介紹了Python的程序設(shè)計方法;史婉玉等則在文獻[4]中介紹了水仙花數(shù)在Java程序設(shè)計中的應(yīng)用。有些學(xué)者則從水仙花數(shù)挖掘編程的內(nèi)涵[5]或編程課程對學(xué)習(xí)習(xí)慣的培養(yǎng)[6]。水仙花數(shù)甚至滲透到了高中信息技術(shù)的學(xué)習(xí)中[7]。

3位水仙花數(shù)是程序設(shè)計中的優(yōu)秀案例。不僅如此,它也是理論探索的一個源泉。林宣治[8]將水仙花數(shù)推廣到高位的情況。所謂高位水仙花數(shù),是指一個n位正整數(shù),它各位數(shù)字的n次方和等于該數(shù)自身。衛(wèi)洪春[9]則設(shè)計了基于C語言動態(tài)數(shù)組的快速求解算法計算出了所有的高位水仙花數(shù)。

近期,楊健在文獻[10]中將水仙花數(shù)從高位情形推廣到指數(shù)位移情形。所謂位移水仙花數(shù),是指一個n位正整數(shù),它能表示為它各位數(shù)字的n+d次冪之和,即:

其中d(≥-1)為整數(shù),稱為位移。

本文將經(jīng)典水仙花數(shù)[1]、高位水仙花數(shù)[8]及位移水仙花數(shù)[10]統(tǒng)稱為齊次水仙花數(shù)。

繼3位水仙花數(shù)之后,尋找齊次水仙花數(shù)成為編程進階的優(yōu)秀案例,有著獨特的意義。一方面是計算機程序設(shè)計教學(xué)中典型的程序設(shè)計范例,因為尋找水仙花數(shù)包含著基礎(chǔ)編程所必需掌握的選擇結(jié)構(gòu)與循環(huán)結(jié)構(gòu);另一方面又是整數(shù)理論中一類具有獨特魅力的整數(shù),引出了齊次水仙花數(shù)型的不定方程,即形如

的不定方程,其中xi(i=1,…,n)都是介于0到9的整數(shù),且x1≠0,k為待定次數(shù)。文獻[10]提出了關(guān)于齊次水仙花數(shù)和不定方程(1)的兩個公開問題。

本文將齊次水仙花數(shù)的概念做進一步的推廣,提出冪等差型水仙花數(shù)。首先給出冪等差型水仙花數(shù)的定義,然后討論了冪等差型水仙花數(shù)的性質(zhì),最后設(shè)計了基于Matlab的快速求解算法。

1 冪等差型水仙花數(shù)

1.1 定義

設(shè)b和d為兩個整數(shù),且b≥0。若一個n位正整數(shù),能表示為它各位數(shù)字的如下形式的冪之和:

則稱該n位正整數(shù)為基數(shù)為b公差為d的冪等差型水仙花數(shù)。b稱為指數(shù)序列的基數(shù);d稱為指數(shù)序列的公差。

式(2)中 當(dāng)d≤0時,令c=-d≥0,a=b+(n-1)d≥0,則(2)式變?yōu)椋?/p>

所以,式(2)中當(dāng)d≥0時稱為冪增型水仙花數(shù),當(dāng)d≤0式稱為冪減型水仙花數(shù)。式(3)正是冪減型水仙花數(shù)的直觀形式。

當(dāng)d=0時的冪等差水仙花數(shù)正是齊次水仙花數(shù),所以文獻[10]研究的位移水仙花數(shù)是本文的一個特例。

通過計算知,598=51+92+83是基為b=1公差為d=1的冪增數(shù);332=35+34+23是基為b=3公差為d=-1的冪減數(shù);153=13+53+33是b=3的齊次數(shù)。

因為位上數(shù)字可能有1、0或重復(fù)等情形,整數(shù)的冪等差表示可能不唯一,比如

所以1676既是冪增數(shù)又是冪減數(shù),原因在于位上數(shù)字出現(xiàn)了1和二重數(shù)字6。

1.2 性質(zhì)

因為冪等差水仙花數(shù)有兩個參數(shù):數(shù)b和d,所以具有比齊次水仙花數(shù)更豐富和更復(fù)雜從而更難以揭秘的內(nèi)蘊性質(zhì)。

性質(zhì)1有限性條件。設(shè)b和d為兩個給定整數(shù)且b≥0。則當(dāng)|d|≤1時,基為b公差為d的冪等差型水仙花數(shù)是有限的。

證明設(shè)是基數(shù)為b公差為d的冪等差數(shù),則式(2)成立。分三種情形證明在題設(shè)條件下冪等差數(shù)的有限性。

情形1:d=0。已由文獻[10]證明。

情形2:d>0。則式(2)右端可放大為:

由式(4)進而得:

式(5)首尾兩端取以10為底的對數(shù),得:

式(6)表明,當(dāng)d≤1,即d=1時,有:

情形3:d<0。則令c=-d≥0,a=b-(n+1)c≥0,由式(2)變?yōu)槭剑?);對式(3)右端進行如式(4)一樣的放大,得到:

進而得到c=1及與式(7)一致的表達式

注:性質(zhì)1表明,對于給定的b(≥1),||d≤1是“基為b公差為d的冪等差水仙花數(shù)是有限的”的充分條件。由于式(4)右端放得過大,|d|≤1不可能成為有限性的必要條件。因為公差|d|>1的冪等差數(shù)是存在的,比如,463=41+63+35是公差為d=2的冪增數(shù),所以下面兩個問題是自然而然的:

(1)冪等差數(shù)的公差d是否隨著位數(shù)n的變化而有界?

(2)對于任意給定的兩個整數(shù)b(≥1)和d,基為b公差為d的冪等差數(shù)是否有限?

性質(zhì)2n與b和d的關(guān)系性質(zhì)。當(dāng)||d≤1時,冪等差型水仙花數(shù)的位數(shù)n與基b和公差d之間滿足如下關(guān)系式:

d值0±1關(guān)系式n-lg n-1 lg 9

證明(10)式已由文獻[10]給出,(11)式由式(7)給出。

應(yīng)用性質(zhì)2的關(guān)系式,由Matlab編程計算給定d,b對應(yīng)的n值的范圍如表1和表2所示:

表1 d=0時n隨b變化的下界和上界

表2 d=±1時n隨b變化的上界

注:應(yīng)用式(10)和式(11)得到的n的上界和下界,并非n的上確界和下確界。

性質(zhì)3位異性。假設(shè)是 基 數(shù)為b公差為d的冪等差型水仙花數(shù),則

(1)位上的數(shù)字必有不同于0或1的數(shù)字;

證明:反證法先證明(1)。

設(shè)n位由0和1構(gòu)成的正整數(shù)是基數(shù)為b公差為d的冪等差數(shù),則

又易知,當(dāng)且僅當(dāng)n=1,時,

再反證法證明(2)。

設(shè)n位正整數(shù)是基數(shù)為b公差為d的冪等差數(shù)。則m是1到9的自然數(shù),由上述1的證明可知,m一定不為1。

于是,有:

結(jié)合上式,得到:

可知當(dāng)且僅當(dāng)b=d=1,m=10時,等式成立。與m是2到9的自然數(shù)矛盾。故至少有兩個位上的數(shù)字不同。

2 冪等差型水仙花數(shù)的快速求解算法

計算冪等差型水仙花數(shù),計算量超大是其典型的特點。文獻[9]設(shè)計了高位水仙花數(shù)的C語言快速求解算法。本文設(shè)計基于Matlab的快速計算泛水仙花數(shù)的算法。在設(shè)計基于Matlab實現(xiàn)的算法時,須充分考慮Matlab的計算特點。眾所周知,Matlab計算特點是數(shù)據(jù)以矩陣為單元,循環(huán)效率相對較低。所以在設(shè)計算法時必須將輸入、輸出和存儲數(shù)據(jù)都矩陣化,降低對循環(huán)的依賴,以提高效率。

2.1 算法描述

算法的核心思想就是基于Matlab以矩陣為計算單元,矩陣化中間計算數(shù)據(jù)。

(1)將位數(shù)為n的所有整數(shù)矩陣化,放在變量allnumbers中,即:

在Matlab中這是一個行向量。

所有n位數(shù)有k=9*10n-1個。

(2)用Matlab命令套裝num2str、str2num及reshape提取allnumbers中所有n位整數(shù)各個位上的數(shù)字,構(gòu)成一個n×k矩陣,放在變量bitsMa?trix中,即:

上述三個語句,第一個語句得到的a是一個字符串行向量,長度為k(n+2)-2;第二個語句是將第一個語句的結(jié)果轉(zhuǎn)置后轉(zhuǎn)化為整數(shù),所得結(jié)果b是一個長度為nk的列向量;第三個語句是將b轉(zhuǎn)換為n×k矩陣,該矩陣的第j列就是提取出來的第j個n位整數(shù)各位上的數(shù)字。

(3)將指數(shù)序列base+d,…,base+nd轉(zhuǎn)化為n×k矩陣,放在變量e中,實現(xiàn)語句如下

通過上述語句,即得n×k指數(shù)矩陣e。

(4)計算矩陣bitsMatrix的e次冪,并按列求和,結(jié)果放在變量esum中,實現(xiàn)語句為:

(5)判斷向量allnumbers與esum中對應(yīng)位置的數(shù)是否相等:若相等,是冪等差數(shù);若不等,則不是冪等差水仙花數(shù)。

2.2 計算結(jié)果

由于9位數(shù)以上的數(shù)據(jù)利用Matlab運算時間過長,我們在這里只計算了9位數(shù)以內(nèi)的冪增型泛水仙花數(shù)。

9位數(shù)以內(nèi)的基數(shù)為b的冪增型泛水仙花數(shù),且顯然位數(shù)為1時只有1是泛水仙花數(shù),故不再計算位數(shù)為1的情況。

給定位數(shù)n,計算8位數(shù)以內(nèi)的所有冪增型泛水仙花數(shù)需要7141.182828秒即約為119分鐘的時間。表3列出了108以內(nèi)的冪等差水仙花數(shù)。

表3 108以內(nèi)的冪等差數(shù)

3 結(jié)語

本文將林宣治、楊健等研究的齊次水仙花數(shù)推廣為更一般的冪等差型水仙花數(shù),使得齊次水仙花數(shù)成為我們研究范疇的一個特例,并對冪等差型水仙花數(shù)的性質(zhì)進行了研究。

在對冪等差型水仙花數(shù)研究的過程中,不禁產(chǎn)生了一些疑惑,其中最大的疑惑就是:

問題1是否存在任意公差的冪等差型水仙花數(shù)?

顯然,無論計算機技術(shù)發(fā)展到什么程度都無法從計算的角度解決上述問題。于是,我們把上述問題等價地轉(zhuǎn)化為如下數(shù)學(xué)問題:

問題2下述關(guān)于(n;b,d,x1,x2,…,xn)的不定方程

的解是否是有限的?其中0≤xk≤9,k=1,2,…,n,且xn≠0。

期待數(shù)學(xué)工作者給出問題2的解答。

猜你喜歡
公差位數(shù)水仙花
滑移門開門位置公差分析優(yōu)化
水仙花栽在水里也能開花
暑假訓(xùn)練營·兩位數(shù)乘兩位數(shù)和小數(shù)的初步認(rèn)識
《兩位數(shù)除以一位數(shù)筆算除法》教學(xué)設(shè)計
形位公差相互關(guān)系和取代應(yīng)用
水仙花
比大小有竅門
葉麗婭的年齡
從簡單特殊入手解決數(shù)列問題
龙川县| 通榆县| 陆川县| 庄浪县| 彭山县| 白河县| 宜章县| 松滋市| 东港市| 山阳县| 朝阳区| 绥棱县| 琼海市| 萍乡市| 潮安县| 房产| 高唐县| 莫力| 卓资县| 内江市| 闽清县| 岐山县| 乐都县| 原平市| 五河县| 兰考县| 卫辉市| 彰武县| 龙里县| 三门县| 左云县| 那曲县| 珠海市| 元氏县| 内黄县| 昂仁县| 桦南县| 开鲁县| 阳城县| 通河县| 泰和县|