求50以内的全部素数

素数,又叫做质数。除了1和它本身以外不能整除其他的数

特别注意,0和1,都不是素数,素数有像2,3,5,7,11......

因此在编写代码的时候,要注意,利用素数的本身特性进行解题。

方法一(代标记判断素数)

因为思想很简单,用两层for循环嵌套,外层的控制数字,内层的要遍历每一个数,看能否被外层数字整除。如果能够被整除,就标记它。最后看是否被标记,标记了就不是素数。


代码:


public class Main {
	public static void main(String[] args) {
	       //求素数的值
	       int flag=0;
	       for(int i=2;i<=50;i++){//素数是从2开始的。
	           for(int j=2;j<i;j++){
	               if(i%j==0){
	                   flag=1;//被标记过,说明他是合数,就不用继续整除了
	                   break;
	               }
	           }
	           if(flag==0){
	               System.out.print(i+" ");
	           }
	           flag=0;
	       }
	}
}

运行结果:2 3 5 7 11 13 17 19 23 29 31 37 41 43 47


方法二:(不用标记)

假设一个数是素数,那j的值能从2,3,...,i-1,所以这样的数一定是素数。所以可以用j>=i,

来判断它到底是不是素数。


public class Main {
	public static void main(String[] args) {
	       //求素数的值
	        int i,j;
	       for( i=2;i<=50;i++){
	           for( j=2;j<i;j++){
	               if(i%j==0){
	                   break;
	               }
	           }
	            if(j>=i){
	                   System.out.print(i+" ");
	               }
	       }
	}
}

 运行结果:2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 
注:如有错误,请务必指出,一起讨论,一起进步!

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值