只有1和它本身兩個正因數(shù)的自然數(shù),叫質(zhì)數(shù)(PRime Number)。
(如:由2÷1=2,2÷2=1,可知2的因數(shù)只有1和它本身2這兩個約數(shù),所以2就是質(zhì)數(shù)。
與之相對立的是合數(shù):“除了1和它本身兩個因數(shù)外,還有其它因數(shù)的數(shù),叫合數(shù)。
”如:4÷1=4,4÷2=2,4÷4=1,很顯然,4的因數(shù)除了1和它本身4這兩個因數(shù)以外,還有因數(shù)2,所以4是合數(shù)。)100以內(nèi)的質(zhì)數(shù)有:2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,在100內(nèi)共有25個質(zhì)數(shù)。注:
(1)1既不是質(zhì)數(shù)也不是合數(shù)。因為它的約數(shù)有且只有1這一個因數(shù)。(2)2和3是所有素數(shù)中唯一兩個連著的數(shù)。(3)2是唯一一個為偶數(shù)的質(zhì)數(shù)。
下面用java實現(xiàn)打印出1到100內(nèi)的所有質(zhì)素:
/** * */package com.b510.parmnumber;/** * 質(zhì)數(shù)又稱素數(shù)。指在一個大于1的自然數(shù)中,除了1和此整數(shù)自身外,不能被其他自然數(shù)整除的數(shù) * @author hongten(hongtenzone@Foxmail.com)<br> * @date 2013-5-22 */public class MyMethod { public static void main(String[] args) { int result = getTimes(); System.out.println("100以內(nèi)的質(zhì)素有 ["+result+"]個!"); } /** * 獲取質(zhì)素的個數(shù) * @return */ public static int getTimes(){ int result = 0; for (int i = 2, j = 0; i <= 100; i++) { if (prime(i)) { System.out.printf("%5d", i); j++; if (j % 5 == 0 && j != 0) { System.out.println(); } } result = j; } return result; } /** * 判斷是否為素數(shù)的方法 * * @param num * @return */ public static boolean prime(int num) { //2本身是質(zhì)素,所以這里需要首先判斷 if (num == 2) return true; boolean flag = true; //如果當num大于2的時候,循環(huán)2到(num-1),如果在循環(huán)過程中 //有被num整除的數(shù),說明num不是質(zhì)素 for (int m = 2; m <= (num - 1); m++) { if (num % m == 0) { flag = false; break; } } return flag; }}
新聞熱點
疑難解答