看板 C_and_CPP 關於我們 聯絡資訊
(6)10 = (110)2 (28)10 = (11100)2 (496)10 = (111110000)2 (8128)10 = (1111111000000)2 (33550336)10 = (1111111111111000000000000)2 (8589869056)10 = (111111111111111110000000000000000)2 (137438691328)10 = (1111111111111111111000000000000000000)2 這是偶完全數的性質 你要不要用這個性質啊? 2^(n-1)*( (2^n)-1 ), 若 (2^n)-1 是質數, 那個數就是偶完全數. (這個已被證明了) 至於奇完全數, 目前 10^300 以內還沒發現有所謂的奇完全數 如果你是要挑戰找出第一個奇完全數的話那就加油; 如果不是的話,這樣寫可以省超多功的。 當然要練功的話,大數演算法真的是不錯的選擇。 ※ 引述《steve1012 (steve)》之銘言: : 我想要寫一個可以計算比較大一點的perfect number的程式 : 因為想多算幾個所以想用陣列 : 目前的想法是用陣列配合做陣列加減乘除的function : 可是在寫乘和除的時候有點無從下手的感覺 : 想請教大家給我一個乘法除法的大數運算的想法 : 然後做這題有好點的方法嘛? -- YouLoveMe() ? LetItBe() : LetMeFree(); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 180.177.76.142
yoco315:竟然有這種方法!! 11/30 00:51
※ 編輯: tropical72 來自: 180.177.76.142 (11/30 01:01)
loveme00835:有沒有推薦的 paper 可以研究下? ._. 11/30 01:13
tropical72:google 歐基理德,完全數, 幾何原理這本書我還真找不到. 11/30 01:24
loveme00835:結果查到原po網誌 XDD 11/30 01:26
uranusjr:歐基理德那本是叫幾何原本啦, 我旁邊書櫃裡就有一本... 11/30 02:46
tropical72:嗯.key 錯.. 11/30 02:50
steve1012:感恩 我試試看! 11/30 21:28
tropical72:原po,我發現更好用的性質了耶,直接把每位數相加,一直 12/02 09:20
tropical72:相加到個位數,其結果必為1. 12/02 09:20
tropical72:發現完全數性質其實超多的,可以先去查查看比較好做. 12/02 09:20