演算法練習 完全數

2022-03-09 14:47:48 字數 1132 閱讀 2930

完全數

定義:數的因子就是所有可以整除這個數的數,但是不包括這個數自身。比如15的因子是1, 3, 5 。

如果乙個正整數如果正好等於它的所有因子之和,這個數就稱為「完數」。例如,6的因子為

1, 2, 3, 而6=1+2+3,因此6是「完數」。

維基百科

完全數:

梅森素數:

古希臘數學家歐幾里得是通過

的表示式發現前四個完全數的。噹噹

噹噹

乙個偶數是完美數,當且僅當它具有如下形式:

,其中是素數,此事實的充分性由歐幾里得證明,而必要性則由尤拉所證明。

梅森數是指形如

的數,記為

;如果乙個梅森數是素數那麼它稱為梅森素數

當n為合數時,

一定為合數。

當n為素數時,

不一定皆為素數,比如

和是素數,但

卻不是素數。

演算法:

#include"

stdafx.h

"#include

#include/**

完全數數的因子就是所有可以整除這個數的數,但是不包括這個數自身。比如15的因子是1, 3, 5 。

如果乙個正整數如果正好等於它的所有因子之和,這個數就稱為「完數」。例如,6的因子為

1, 2, 3, 而6=1+2+3,因此6是「完數」。

維基百科:

完全數:

梅森素數:

*/int func(int

n);void

func2();

intmain()

}printf(

"\n方案二:使用數學公式\n");

func2();

getchar();

return0;

}//方案一: 直接因子求和

int func(int

n)

return d==n;}//

方案二: 數學公式 2^*(2^n-1),n為素數

void

func2();

for(int i=0;i<4;i++)

}

完全數的java演算法

什麼是完全數?如果乙個正整數恰好等於它所有的真因子 即除了自身以外的因子 之和,則稱之為完全數 完美數 例 6 1 2 3 歐幾里德完全數定理 若p 2的p次冪 1 這兩個值均為素數,則 2的 p 1 次冪 乘以 2的p次冪 1 的值是個完全數。package yzg.arithmetic 歐幾里德...

完全數的java演算法實現

本文為博主原創,接受意見,不喜勿噴 本文以10000以內的完全數作為例子 完全數 指所有因子之和 包括1但不包括這個數本身 等於其本身的數叫完全數。例如 6 1 2 3。1 2 3都是6的因子。1.第一層迴圈是遍歷10000以內的所有數 不包括1,因為包括1的話後面會變得更加麻煩 以便於後面做判斷 ...

演算法15 數論1 完全數

完全數是一些特殊的自然整數。完全數等於其所有因子之和。所謂因子是所有的可以整除這個數的數,而不包括這個數本身。一些完全數的概念 1 虧數 當乙個自然數的所有因子之和小於該自然數,那麼該自然數便是虧數 2 盈數 當乙個自然數的所有因子之和大於該自然數,那麼該自然數便是盈數 3 完全數 當乙個自然數的所...