为什么可以开根号判断素数,求1-100的素数

素数也叫质数,质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。“1”既不是素数,也不是合数
因为如果一个数不是素数是合数,那么一定可以由两个自然数相乘得到,其中一个大于或等于它的平方根,一个小于或等于它的平方根。并且成对出现,所以只用计算到该数的平方根以下看除了1有没有该数的因数,若没有,则是素数。

public class sushu {
    public static void main(String[] args) {
        int flag=0;//标志位
        for(int i=2;i<100;i++)
        {
           for(int j=2;j*j<=i;j++)//j*j<i;相当于对i开了根号,j只用加到i的平方根,而不用加到i-1减少了计算量
           {
               if((i%j)==0)
               {

                   flag++;//如果有因数,flag+1
                   break;//有因数,直接结束内层循环,减少计算量
               }
           }
           if(flag==0)//表示一直没有i的因数
           {
              // flag=0;
               System.out.print(i+"  ");
           }
            flag=0;//一次外层i循环结束,flag归位,进行下一次循环
        }
    }
}

结果

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)质数的个数是无限的。
(4)大于10的质数中,个位数只有1,3,7,9
  • 9
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值