素数

//java版

import java.util.ArrayList;
public class Prime_Number {
    public static void main(String[] args) {

        System.out.println("\n-----------------for一百以内的素数-------------------");
        //1既不是质数也不是和数,使用i从2开始。
        ArrayList list = new ArrayList();
        for(int i = 2; i <= 100; i++){
            boolean flag = true;
            for (int j = 2; j < i; j++){
                if (i % j == 0){
                    flag = false;
                    break;
                }
            }
            if (flag) {
                System.out.print(i + " ");  list.add(i);
            }
        }
        System.out.println("\n共有" + list.size() + "个素数!");
        System.out.println("-----------------while一百以内的素数-----------------");
        int s = 2;
        while(s<=100){
            int y = 2;  boolean flag1 = true;

            while(y < s){
                if (s % y ==0) {
                    flag1 = false;  break;
                }
                y++;
            }

            if (flag1)
                System.out.print(s+" ");

            s++;
        }
    }
}

/*  输出如下:
-----------------for一百以内的素数-------------------
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个素数!
-----------------while一百以内的素数-----------------
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

*/

python版

for i in range(2,101):
    for j in range (2,i):
        if i%j == 0:
            break
    else:
        print(i,end=" ")

输出: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

// Scala版 for 与 while

object Prime_number {
  def main(args: Array[String]): Unit = {
    println("--------for------------")
    var flag = true
    for (i <- 2 to 100){
      for (j <- 2 until i if flag){
        if (i % j == 0)
          flag = false
      }

      if (flag)
        print(i + " ")

      flag = true
    }
    println("\n--------while----------")

    var i = 2; var j = 2; var fl = true
    while (i<=100){
      while (j < i && fl){
        if (i % j == 0)
          fl = false

        j+=1
      }
      if (fl)
        print(i + " ")
      i+=1; j=2; fl = true
    }
  }
}

/* 输出:
--------for------------
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
--------while----------
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
*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值