如何计算100以内的所有素数?
100以内的素数素数的规律如下:
1、个位是偶数的只有2;
2、个位是升段5的只有5;
3、个位是1的有11、31、41、61、71,共5个;
4、个位是3的有3、13、23、43、53、73、83,共7个;
5、个位是7的有7、17、37、47、67、97,共6个;
6、个位是9的有19、29、59、79、89,共5个。
注:个旅核位十位数字相同的除拆笑掘了11外,其它都不是素数。
100以内的素数共25个,如下: 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
拓展资料:
质数具有许多独特的性质:
(1)质数p的约数只有两个:1和p。
(2)初等数学基本定理:任一大于1的自然数,要么本身是质数,要么可以分解为几个质数之积,且这种分解是唯一的。
(3)质数的个数是无限的。
(6)若n为大于或等于2的正整数,在n到之间至少有一个质数。
(8)所有大于10的质数中,个位数只有1,3,7,9。
定义变量2从1到100,如果j从1到i,i对j求余运算只有腊如两次满足为零(被1和它郑庆自身整除时),那么就可以认为这个数是喊局握素数,就可以输出了。
2015-07-08 · 知道合伙人教育行家
编程如下:
public class SuShuo
{static int k;
public static void main(String[] args) {
int i,j;
for(i=1;i<=100;i++){
for(j=2;j<i;j++)
{
if(i%j==0){
//System.out.println(i+"不是素数");
break;
}
}
if(i==j)
{
System.out.println(i+"是素数");
}
}
}
}
抓住素数的定义,100以内的素数其实不用计算就可以判断。
定义:素数就是质数,就是除了1和它本身以外不再有其他的因数。
最小的素数是2
100以内的素数素数的规律如下:
1、个位是偶数的只有2;
2、个位是5的只有5;
散辩3、个位是1的有11、31、41、61、71,共5个;
4、个位是3的有3、13、23、43、53、73、83,共7个;
5、个位是7的有7、17、37、47、67、97,共6个;
6、个位是9的有19、29、59、79、89,共5个。
注:个位十位数消掘链字相同的除了11外,其它都不是素数。
100以内的素数共25个,如下:
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
口诀如下:
二,三,五,七,一十一;
一三,一九,一十七;
二三,二九,三十七;
三一,四一,四十七;
四三,拿孙五三,五十九;
六一,七一,六十七;
七三,八三,八十九;
再加七九,九十七;
25个质数不能少;
百以内质数心中记。
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Test {
public static void main(String[] args){
List all = getNum(100);
Iterator it = all.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
/*
* 计算规则: 从2到该数字的一半(如果为奇数则减一再除以2)进行取摩,如果取摩为0,则该数字为素数
* int num 为要计算到的最大值
*/
public static List<Integer> getNum(int num){
//创建集合,用于保存谨段找到的素衫昌数
List<Integer> allNum = new ArrayList<Integer>();
//外层或晌扒循环
a:for(int i=2;i<num;i++){
int temp=0;
if(i%2==0){
temp = i/2;
}else{
temp = (i-1)/2;
}
boolean isTrue = true; //如果为素数则为true
for(int x=2;x<=temp;x++){
if(i%x==0){
isTrue = false;
continue a;
}
}
if(isTrue){
allNum.add(i);
}
}
return allNum;
}
}
程序有点凌乱,希望您能看懂,看不懂我再帮你解释
{static int k;
public static void main(String[] args) {
int i,j;
for(i=1;i<=100;i++){
for(j=2;j<返顷i;j++)
{
if(i%j==0){
/漏郑陆/System.out.println(i+"不是素数");
break;
}
}
if(i==j)
{
System.out.println(i+"是素丛亮数");
}
}
}
}
广告 您可能关注的内容 |