什麼是完全數?
如果乙個正整數恰好等於它所有的真因子(即除了自身以外的因子)之和,則稱之為完全數(完美數)。
例:6=1+2+3
歐幾里德完全數定理:若p、(2的p次冪-1) 這兩個值均為素數,則 2的(p-1)次冪 乘以 (2的p次冪-1) 的值是個完全數。
package yzg.arithmetic;
/*** 歐幾里德完全數定理:若p、(2的p次冪-1) 這兩個值均為素數,則 2的(p-1)次冪 乘以 (2的p次冪-1) 的值是個完全數。
* 如果乙個正整數恰好等於它所有的真因子(即除了自身以外的因子)之和,則稱之為完全數(完美數)。 例:6=1+2+3
* * @author yzg
* */
public class entiretynumber
long t = 2;
for (int k = 1; k < p; k++)
long j = t / 2;
t--;
if (pri(t))
}normal();
}// 八個完全數
// 3 * 2 = 6
// 7 * 4 = 28
// 31 * 16 = 496
// 127 * 64 = 8128
// 8191 * 4096 = 33550336
// 131071 * 65536 = 8589869056
// 524287 * 262144 = 137438691328
// 2147483647 * 1073741824 = 2305843008139952128
/*** 判斷傳入的引數是否是乙個素數
* * @param sushu
* @return true=是,false=不是
*/public static boolean pri(long sushu)
}return true;
}/**
* 求10000以內的完全數,普通的演算法。
* 找到後,顯示成和的形式。
*/public static void normal()
}if (s == i)
}system.out.println();}}
}}
完全數的java演算法實現
本文為博主原創,接受意見,不喜勿噴 本文以10000以內的完全數作為例子 完全數 指所有因子之和 包括1但不包括這個數本身 等於其本身的數叫完全數。例如 6 1 2 3。1 2 3都是6的因子。1.第一層迴圈是遍歷10000以內的所有數 不包括1,因為包括1的話後面會變得更加麻煩 以便於後面做判斷 ...
演算法練習 完全數
完全數 定義 數的因子就是所有可以整除這個數的數,但是不包括這個數自身。比如15的因子是1,3,5 如果乙個正整數如果正好等於它的所有因子之和,這個數就稱為 完數 例如,6的因子為 1,2,3,而6 1 2 3,因此6是 完數 維基百科 完全數 梅森素數 古希臘數學家歐幾里得是通過 的表示式發現前四...
完全數的性質
完全數性質 1 古希臘數學家歐幾里得是通過 2 n 1 2 n 1 的表示式發現頭四個完全數的。2 偶完全數都是以6或8結尾。如果以8結尾,那麼就肯定是以28結尾。3 除6以外的偶完全數,把它的各位數字相加,直到變成個位數,那麼這個個位數一定是1 亦即 除6以外的完全數,被9除都餘1。28 2 8 ...