完數和素數的區別?
1.完數
一個數如果恰好等于它的因子之和,這個數稱為“完數”(因子:除去這個數本身的約數),例如6=1+2+3;
18 的因子:1,2,3,6,9
編程找出1000以內的所有完數
如何判斷是否完數?
(1)先找出所有的因子,并且累加它的因子
(2)判斷因子之和是否和原數相等,如果相等就是完數
2.素數
找出1-100之間所有的素數
方法一:如何判斷i是否是素數
(1)找出i的所有約數,并累加它們的和,例如:i = 5,它的約數是1和5,約數和是6;i=11,約數是1和11,和是12;i=18,約數是1,2,3,4,9,18,約數和39
(2)如果某個i 的約數和==i+1,那么i就是素數
方法二:如何判斷i是否是素數
(1)找出i在[2,i-1]之間的約數個數
(2)如果這個個數是0,那么i就是素數
方法三:如何判斷i是否是素數
(1)假設i是素數
boolean flag = true;//true 代表素數
(2)找i不是素數的證據
如果在[2,i-1]之間只要有一個數能夠把i整除了,說明i就不是素數,修改flag = false;
素數:又稱為質數,指在一個大于1的自然數中,除了1和此自然數本身,不能被其他自然數整除的數。