從水仙花數到自戀數-01-自戀數的初識
2020-05-22 16:00:35来源:博客园 阅读 ()
從水仙花數到自戀數-01-自戀數的初識
從水仙花數引出自冪數,并做簡單的介紹,并不做深入的了解,同時使用C++代碼初略的實現9位數之內的自冪數輸出!0-簡介:
在數論中,水仙花數(Narcissistic number,也被稱為超完全數字不變數(pluperfect digital invariant,PPDI),自戀數,自冪數,阿姆斯壯數或阿姆斯特朗數(Armstrong number)用來描述一個N位非負整數,其各位數字的N次方和等於該數本身.
1-定義:
設有自然數n,d為該自然數各位數字,即 n = dkdk-1...d1 ,則有:
n = dk·10k-1 + dk-1·10k-2 + ... + d2·10 + d1,
如果該自然數n滿足條件:
n = dkk + dk-1k + ... + d2k + d1k.
則這個自然數就被稱為超完全數字不變數。
若將條件放寬,一個N位數,其各個數之M次方和等於該數,M和N不一定相等,這樣的數稱為完全數字不變數
水仙花數一定是完全數字不變數,但完全數字不變數不一定是水仙花數。 嚴格意義來說水仙花數指三位數.
補充說明:
在百度百科中,不同位數的自冪數擁有不同的稱呼,但是這個稱呼應該是只有中國才有的這個叫法,不信你看這些名字有哪一個是國際化的:
一位自冪數:獨身數 兩位自冪數:沒有 三位自冪數:水仙花數 四位自冪數:四葉玫瑰數 五位自冪數:五角星數 六位自冪數:六合數 七位自冪數:北斗七星數 八位自冪數:八仙數 九位自冪數:九九重陽數 十位自冪數:十全十美數我甚至懷疑是不是網友或者寫百度百科的人自己瞎取的.
2-"八卦":
我們要說的八卦當然是關於自冪數的八卦:
1. 十進位的自冪數一共89個,其中最大的有39位: 115,132,219,018,763,992,565,095,597,973,971,522,401;
2. 十二進制的完美數: 25, A5, 577, 668, A83, 14765, 938A4;
3. 三進位中的這樣的數有:0、1、2、12、122;
4. 四進位中的這樣的數有:0、1、2、3、313;
5. 任何進制之下1-9都是自冪數
6. 更多關於自戀數的信息可以查看OIES-A005188
3-代碼實現(基於C++):
// C++代碼實現: #include <iostream> #include <cmath> using namespace std; int main(int argc, char const *argv[]) { // digits: 位寬,每一個數的位數 for (int digits = 3; digits < 10; digits++) { // next:被測試的數字 for (int next = pow(10, digits - 1); next < pow(10, digits) - 1; next++) { int temp = next; // temp: 臨時變量,用來保護原數據next不被破壞(改變)影響下一次的循環 int sum = 0; // 每個數位上的數字次方和 while (temp > 0) { sum += pow((temp % 10), digits); temp /= 10; // 由於temp為int類型,所以除以10之後會自動截去小數部分(是截去,不是四捨五入) } if (sum == next) { // 判斷是否滿足條件 cout << next << endl; } } } return 0; }
說明:
這裡的代碼只是簡單的實現了查找并輸出9位數以內的自冪數,尚未對程序進行優化(不管是算法上還是代碼格式,命名規範等方面均是如此);其優化我會放在後面的文章之中.屆時除了代碼的優化還有關於自冪數更多的事情.因為這個分類的重點本來就不是在於代碼,而是在於學習和進步.
原文链接:https://www.cnblogs.com/ltozvxe/p/12934776.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 51Nod 1015 水仙花数 2018-12-28
- C语言——求水仙花数 2018-06-18
- 1008. 水仙花数 2018-06-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash